วอนผู้รู้ช่วยทีครับ มือใหม่หัดเขียนโปรแกรม Java ฝากด้วยครับ
ต้องการรับข้อมูลเข้าทางคีย์บอร์ด 8 ตัว เก็บใว้ใน array 1 มิติ แล้วหาค่าสูงสุดเลขคี่ ต่ำสุดเลขคี่ ค่าสูงสุดเลขคู่ และค่าต่ำสุดเลขคู่ แล้วแสดงผลลัพธืทั้ง 4 ออกจอภาพ
นี่คือ code ที่ผมเขียนครับ
Code (Java)
import java.util.Scanner;
class java2{
public static void main(String[]args) {
Scanner input = new Scanner (System.in);
int i=0,maxood=1,minood=1,maxeven=2,mineven=2;
int[]num = new int[8];
for(i=0;i<num.length;i++){
System.out.printf("Enter number[%d]",i);
num[i]=input.nextInt();
if(num[i]%2==0){
maxeven=Math.max(num[i],maxeven);
mineven=Math.min(num[i],mineven);
}
if(num[i]%2==1){
maxood=Math.max(num[i],maxood);
minood=Math.min(num[i],minood);
}}
System.out.printf("Maxeven is %d%n",maxeven);
System.out.printf("Mineven is %d%n",mineven);
System.out.printf("Maxood is %d%n",maxood);
System.out.printf("Minood is %d%n",minood);
}
}
เมื่อคึย์ข้อมูลสิ่งที่แสดงออกบนจอภาพนั้น ก็เห็นปัญหาของค่าต่ำสุดท้ังเลขคู่และเลขคี่
Quote: Enter number[0]11
Enter number[1]12
Enter number[2]13
Enter number[3]14
Enter number[4]15
Enter number[5]16
Enter number[6]17
Enter number[7]18
Maxeven is 18
Mineven is 2
Maxood is 17
Minood is 1
ท้ังๆที่ Mineven น่าจะเท่ากับ 12 แต่ดันเท่ากับ 2 และ Minood ควรเป็น 11 แต่เป็น 1
วอนผู้รู้ช่วยทีครับTag : Java, JAVA, Windows
Date :
2013-07-07 01:18:30
By :
knzkidz
View :
3294
Reply :
1
Code (Java)
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
class java2 {
/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
// TODO code application logic here
Scanner input = new Scanner (System.in);
List<Integer> ood = new ArrayList<>();
List<Integer> even = new ArrayList<>();
for(int i = 0; i < 8; i++) {
System.out.printf("Enter number[%d]: ",i);
Integer num = input.nextInt();
if (num % 2 == 0) {
even.add(num);
} else {
ood.add(num);
}
}
System.out.printf("Maxeven is %d%n", Collections.max(even));
System.out.printf("Mineven is %d%n", Collections.min(even));
System.out.printf("Maxood is %d%n", Collections.max(ood));
System.out.printf("Minood is %d%n", Collections.min(ood));
}
}
Date :
2013-07-08 11:17:30
By :
ห้ามตอบเกินวันละ 2 กระทู้
Load balance : Server 04