사용자가 입력 한 10,000 개의 값을 배열에 저장할 수 있고 모든 값의 합계와 모든 값의 평균을 반환 할 수있는 응용 프로그램을 작성해야합니다. 사용자가 숫자 "0"을 쓰면 입력을 중지해야합니다. 충족해야 할 몇 가지 조건이 있습니다.
이것은 제가 오늘 수업에서받은 추가 과제입니다.
지금까지 이렇게 작성했습니다.
import java.util.Scanner;
public class Ovning_54 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int[] list;
list = new int[10000];
int sum = 0;
int avr = 0;
int x = 0;
int number;
System.out.print("Add number " + (x + 1) + ": ");
number = input.nextInt();
while (x <= list.length && (number != 0 || x == 0)) {
list[x] = number;
x++;
System.out.print("Add number " + (x + 1) + ": ");
number = input.nextInt();
}
for (int i = 0; i < x; i++) {
sum += list[i];
avr = sum / x;
}
System.out.println("The sum of all values are: " + sum);
System.out.println("The average value of the numbers are: " + avr);
}
}
나는 그것을 해결했다고 생각한다! 올바르게 실행되는 것 같고 오류 메시지가 표시되지 않습니다. 이것이 조건 # 1을 위반하는지 여전히 궁금합니다. 그렇지 않다면 그 주위에 방법이 있습니까?
이것으로 교체하십시오 while (x <= list.length)
.
while (x <= list.length && (number != 0 || x==0))
for 루프 교체
for(int i = 0; i < list.length; i++){
sum += list[i];
}
이것으로.
for(int i = 0; i < x; i++){
sum += list[i];
}
이제 수정 된 코드는 아래와 같습니다.
public static void main (String[] args){
Scanner input = new Scanner(System.in);
int[] list;
list = new int[10000];
int sum = 0;
int avr = 0;
int x = 0;
int number;
while (x <= list.length && (number != 0 || x==0)){
System.out.print("Add number " + (x+1) + ": ");
number = input.nextInt();
list[x] = number;
x++;
}
for(int i = 0; i < x; i++){
sum += list[i];
}
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다