用扫描仪输入数组,现在不能打印数组?

时间:2017-09-25 16:10:00

标签: java arrays println

我想要实现的目标是:

  1. 创建一个数组,并使用用户输入(扫描仪)定义其长度。 ✓
  2. 遍历数组以填充其值。 ✓
  3. 定义长度并根据长度填充值后,打印整个数组。 X
  4. 我无法达到3号。有人能帮帮我吗?我只需要打印数组。

    这是我的代码:

    package arrayinputoutput;
    
    import java.util.Scanner;
    
    public class ArrayInputOutput {
    
        public static void main(String[] args) {
            Scanner input = new Scanner(System.in);
            int x;
            int[] test;
    
            System.out.println("How long should the array be?");
            x = input.nextInt();
    
            for (int i = 0; i < x + 1; i++) {
                input.nextLine();
                System.out.println("Please fill in position " + i + ":");
                i = input.nextInt();
    
            }
            //System.out.println(test[]);
        }
    }
    

2 个答案:

答案 0 :(得分:2)

  • 在询问尺寸后,你必须创建array,尺寸为
  • 您必须将输入存储在数组myArray[i] = input.nextInt();的框中,然后跳过一行
  • 请使用variables
  • 的明确名称
  • 停止到size而不是size+1,因为索引开始为0

所以这样:

int size;
int[] myArray;
System.out.println("How long should the array be?");
size = input.nextInt();
input.nextLine();
myArray= new int[size];                     //<- create array

for (int i = 0; i < size ; i++) {           // <- '<size' and '<size+1'
    System.out.println("Please fill in position " + i + ":");
    myArray[i] = input.nextInt();           // <- store in a box of the array
    input.nextLine();
}

要打印数组,可以使用以下几个选项:

System.out.println(Arrays.toString(myArray));

或者:

for (int i = 0; i < size ; i++) {          
    System.out.println("Value in position " + i + ":" + myArray[i]);       
}

答案 1 :(得分:0)

的System.out.println(Arrays.toString(试验));

尝试使用它来打印数组..希望它有效