我是Java新手,我正在尝试为用户创建一个程序,输入一定数量的整数,然后检索这些整数并将其打印回来。
仅当您输入1个整数时才有效。否则,它会终止。
import java.util.Scanner;
public class Assignment4 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("Enter the Number of Numbers");
int totalNumbers = scan.nextInt();
int[] numbers = new int[totalNumbers];
for(int i = 0;i == (totalNumbers-1); i++){
System.out.println("Enter the Next Number");
numbers[i] = scan.nextInt();
}
for(int i = 0;i == (totalNumbers-1); i++){
System.out.println(numbers[i]);
}
}
}
答案 0 :(得分:8)
您的循环条件是您的问题。它只接受一个输入。条件:
for(int i = 0; i == (totalNumbers-1); i++){
将在i != (totalNumbers - 1)
时终止。您的for
循环应如下所示:
将新变量i初始化为零,然后在i等于时 “totalNumbers - 1”,执行以下代码块,然后递增i 由1
你可能想要:
for(int i = 0; i <= (totalNumbers-1); i++){
可以理解为:
将新变量 i 初始化为零,然后 i 小于或等于 “totalNumbers - 1”,执行以下代码块,然后递增 i 由1
答案 1 :(得分:1)
您的代码中有两个错误,两者都与循环语句相关,
用
替换第一个循环语句for(int i = 0;i <= (totalNumbers-1); i++)
并用
替换第二个循环语句for(int i = 0;i <= (totalNumbers-1); i++)
问候。
答案 2 :(得分:0)
import java.util.Scanner;
public class Assignment4 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("Enter the Number of Numbers");
int totalNumbers = scan.nextInt();
int[] numbers = new int[totalNumbers];
for(int i = 0;i <= (totalNumbers-1); i++){ //changed the loop's condition
System.out.println("Enter the Next Number");
numbers[i] = scan.nextInt();
}
for(int i = 0;i <= (totalNumbers-1); i++){ //changed the condition in the
System.out.println(numbers[i]);
}
}
}
您只输入1个数字的原因是您在for循环中给出的条件。您需要输入数字,直到i th 值小于或等于(totalNumbers-1)
但如果我是你,我会用**for(int i = 0;i < totalNumbers1; i++)**
来说明
答案 3 :(得分:-1)
我从你的代码中理解的是,你的罪魁祸首是以下几行:
for(int i = 0;i == (totalNumbers-1); i++){
System.out.println("Enter the Next Number");
numbers[i] = scan.nextInt();
}
除非你有totalNumbers = 1
,否则循环不会执行。只有这样,你才会i = totalNumbers - 1 = (1 -1) = 0
,它满足你循环中的条件i == (totalNumbers - 1)
。这就是你只能输入一个数字的原因;如果您的totalNumbers
值不是1,则循环将不会执行,您的程序将终止。
您编写for循环条件的方式不正确。相反,你应该这样写:
for(int i = 0;i <= (totalNumbers-1); i++){
//do your work here
}
在问题的两个循环中以上述方式编写for循环。