제목에 명시된 바와 같이 최대 값과 최소값, 평균값과 확률값, 그리고 입력 된 모든 숫자의 평균을 찾으려고합니다.부정확 한 가장 큰 입력
문제가 있습니다. 내 코드를 실행하면 내 확률과 동등한 카운터가 반대쪽을 읽는 것처럼 보이고 홀수는 짝수 번째 입력을 읽고 심지어 홀수 입력을 읽습니다. 나의 평균에 관해서는, 나는 그것이 무엇이 잘못 되었는가에 대한 단서를 가지고 있지 않다. 나는 그것이 알맞은 분율의 평균만을 발견 할 것이라는 것을 안다. I 입력이 종료로
또한, 나는 마지막에 붙여 넣을 수 있습니다 내 가장 많은 내 출력의 214XXXXXXXX
예를 얻을.
System.out.println("Enter a sequence of integers. Any non-integer to quit");
Scanner scan = new Scanner(System.in);
int min = Integer.MAX_VALUE;
int max = 0;
int count = 0;
int sum = 0;
int oddsCounter = 0;
int evensCounter = 0;
int getInt;
double average = 0;
while (scan.hasNextInt()) {
getInt = scan.nextInt();
if (getInt % 2 == 0) {
evensCounter++;
System.out.println("even: " + evensCounter);
} else {
oddsCounter++;
System.out.println("odd: " + oddsCounter);
}
if (getInt < min) {
min = getInt;
} else if (getInt > max) {
max = getInt;
}
sum += getInt;
System.out.println("sum " + sum);
count++;
System.out.println("count " + count);
average = (double) sum/(count);
System.out.println("average " + average);
}
System.out.println("smallest: " + min);
System.out.println("largest: " + max);
System.out.println("even: " + oddsCounter);
System.out.println("odd: " + evensCounter);
System.out.println("average: " + average);
결과 :
Enter a sequence of integers. Any non-integer to quit
9 //input 1
odd: 1
sum 9
count 1
average 9.0
3 //input 2
odd: 2
sum 12
count 2
average 6.0
7 //input 3
odd: 3
sum 19
count 3
average 6.333333333333333
1 //input 4
odd: 4
sum 20
count 4
average 5.0
q //input 5: QUIT
smallest: 1
largest: 7 //This should be 9
even: 0
odd: 4
average: 5.0
결과 2 : 어떤 도움을 주시면 감사하겠습니다
Enter a sequence of integers. Any non-integer to quit
q //quit
smallest: 2147483647 //This should be 0
largest: 0
even: 0
odd: 0
average: 0.0
. 고맙습니다!
내가 동안을 가져야한다 (isInteger (scan.nextLine())) – user2197917
그래. 내 어리석은 실수 : | –
새 코드가 첫 번째 입력을 완전히 건너 뜁니다. 그래서 내가 가지고있는 동안 (isInteger (scan.nextLine())) 난 아직도 두 번째 문제를 얻이 수없는 것 – user2197917