2014-09-20 2 views
0

안녕하세요, 저는 Java에 익숙하지 않고 자신에게 익숙해 지도록 약간의 연습을하려고합니다. 각 또는 향상된 for 루프에 대해 a를 사용하여 사용자 입력 수의 합과 평균을 계산하려고합니다. 내가 한 일은 숫자를 배열에 저장하는 것입니다. 내 코드가 맞는지 확인해 주시겠습니까?각각에 대해 사용하는 사용자 입력의 평균을 계산하십시오.

Scanner scanner = new Scanner(System.in); 

double inputNum; 
double sum= 0; 
int counter; 

System.out.println("How many entries would you like input"); 
int entry = scanner.nextInt(); 

for (counter = 0; counter< entry; counter++){ 

    double [] numbers = new double[entry]; 
    System.out.println("Please input number " + (counter +1)); 
    numbers[counter] = scanner.nextDouble(); 

    for (double x : numbers[counter]) { 
     x += sum; 
    } 

    System.out.println("The total sum is: " + sum); 
    double average = sum/entry; 
    System.out.println("The total average is: " + average); 
} 
+0

를위한 각각의 배열 또는 일부의 Iterable I가 확인 된 – Anptk

+0

를 사용하여 표현 유형을 두 번, 필요에 적용 할 수 없습니다 for each loop를 사용할 수 있는지 확인하십시오. – Onedaynerd

답변

1

내부 루프가 필요하지 않습니다. 배열에 저장 한 후 각 입력을 합계에 더할 수 있습니다.

또한 배열을 각 반복에서가 아니라 외부 루프 외부에 한 번 할당해야합니다.

double [] numbers = new double[entry]; 
for (counter = 0; counter< entry; counter++){  
    System.out.println("Please input number " + (counter +1)); 
    numbers[counter] = scanner.nextDouble(); 
    sum+= numbers[counter]; 
} 
System.out.println("The total sum is: " + sum); 
double average = sum/entry; 
System.out.println("The total average is: " + average); 
+0

그러나 배열이 필요 없습니다. 그냥 합계를 추적하십시오. – nmore

+0

@nmore 또한 사실입니다. 그러나 나중에 배열을 필요로하는 추가 코드가있을 수 있습니다. – Eran

0

루프 외부에 합계 및 평균 논리를 넣습니다. 그래야만 작동합니다.

double [] numbers = new double[entry]; 
for (counter = 0; counter< entry; counter++){ 
    System.out.println("Please input number " + (counter +1)); 
    numbers[counter] = scanner.nextDouble();  
    sum += numbers[counter]; 
} 

System.out.println("The total sum is: " + sum); 
double average = sum/entry; 
System.out.println("The total average is: " + average); 
0

스캐너에는 for-each를 사용할 수 없습니다. 또한 아무 것도 저장할 필요가 없습니다. 그냥 합계를 추적하십시오. 제거 루프 외부 평균과 쓸모 배열

Scanner scanner = new Scanner(System.in); 

System.out.println("How many entries would you like input?"); 
int numEntries = scanner.nextInt(); 

double sum = 0; 
for (counter = 1; counter <= numEntries; counter++) { 
    System.out.println("Please input number " + counter + ": "); 
    sum += scanner.nextDouble(); 
} 
System.out.println("The total sum is: " + sum); 
System.out.println("The average is: " + sum/numEntries); 
0

같은 코드 :

Scanner scanner = new Scanner(System.in); 

double sum = 0; 

System.out.println("How many entries would you like input"); 
int entry = scanner.nextInt(); 

for (int counter = 1; counter <= entry; counter++) { 
    System.out.println("Please input number " + counter); 
    sum += scanner.nextDouble(); 
} 

System.out.println("The total sum is: " + sum); 
double average = sum/entry; 
System.out.println("The total average is: " + average); 
관련 문제