#java #arrays #output #java.util.scanner #println
Вопрос:
Я новичок в программировании на Java и создал программу, которая принимает 10 чисел в качестве входных данных от пользователей и печатает их. Первый раздел использует цикл for, а второй-цикл while. Первый раздел работает правильно, а второй раздел не отображает выходные данные. Кто-нибудь может мне помочь?
import java.util.Scanner;
public class ArrayOfTenElements {
public static void main(String[] args) {
// TODO Auto-generated method stub
int numArray1[] = new int [10];
int numArray2[] = new int [10];
int i;
//First Section
Scanner scanner = new Scanner(System.in);
System.out.println("Enter 10 numbers: ");
for(i=0;i<10;i ) {
numArray1[i] = scanner.nextInt();
}
System.out.println("The entered numbers are: ");
for(i=0;i<10;i ) {
System.out.print(numArray1[i] " ");
}
//Second Section
System.out.println("nEnter 10 numbers: ");
int j = 0;
while(j<10) {
numArray2[j] = scanner.nextInt();
j ;
}
System.out.println("The entered numbers are: ");
while(j<10) {
System.out.print(numArray2[j] " ");
j ;
}
scanner.close();
}
}
Комментарии:
1. вы просматривали код в отладчике?
2. @Oldпрограммист Нет, я этого не делал
Ответ №1:
Вы не сбрасываете переменную j обратно в 0 после 1-го цикла. таким образом, 2-й цикл начинается со значения 10 для j, и, следовательно, цикл while не выполняется.
//Second Section
System.out.println("nEnter 10 numbers: ");
int j = 0;
while(j<10) {
numArray2[j] = scanner.nextInt();
j ;
}
// add this
j = 0;
System.out.println("The entered numbers are: ");
while(j<10) {
System.out.print(numArray2[j] " ");
j ;
}
Ответ №2:
Когда вы используете last для цикла, значение j равно 10 в начале этого цикла, поскольку вы объявляете j вне области видимости.Поэтому вам следует объявить новую переменную и заменить цикл while на нее.Другое дело, что вы должны использовать цикл for для отображения массива 2.Обычно мы используем циклы while только тогда, когда мы не знаем о времени окончания.Поэтому для этого мы используем цикл for.
//Second Section
System.out.println("nEnter 10 numbers: ");
int j = 0;
while(j<10) {
numArray2[j] = scanner.nextInt();
j ;
}
System.out.println("The entered numbers are: ");
for(i=0;i<10;i ) {
System.out.print(numArray2[i] " ");
}