Java初学者作业

时间:2014-01-16 01:04:00

标签: java

我是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]);
        }

    }
}

4 个答案:

答案 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循环。