使用用户输入创建数组

时间:2014-10-26 18:18:30

标签: java arrays

我正在尝试创建一个代码,让用户确定数组的大小和元素,然后将其打印出来。到目前为止,我有这个。

import java.util.Scanner; 

public class test3 {

  public static void main (String[] args)
  { 
    Scanner keyboard=new Scanner(System.in);
    System.out.println("Input how many numbers you want to find the median for (numerical value) :");
    int num = keyboard.nextInt();
    System.out.println("Please enter " + num + " numbers.");
    int[] values = new int[num];
    for (int i = 0; i < num; i++) {
        values[i] = keyboard.nextInt();
        System.out.println(values[i]);


    }
  }
}

我不知道它是否正确,因为当用户输入大小然后输入元素时,代码只是在用户输入时显示元素。例如,

输入您想要找到

的中位数的数字

5

请输入5个数字

3 //用户输入

3 //显示的内容。

我想让用户输入所有数字,然后将输入的数字显示为数组。

顺便说一句,我们不允许使用数组类。

2 个答案:

答案 0 :(得分:0)

在您的测试用例中,您的for循环将执行与用户输入的数量相同的数量。每次迭代将从键盘输入中取一个数字,将其放入数组并显示它。由于您想首先捕获所有数字然后想要显示它们,您应该删除

System.out.println(values[i]);
来自for循环的

并将其放入另一个for循环中以显示如此的数字

for(int x=0 ;i < num ; i++)
{
  System.out.println(values[x]);
}

这样第一个循环将收集所有数字,在收集数字后,第二个循环将逐个迭代地显示数字。

希望这有帮助!

答案 1 :(得分:0)

  

import java.util.Scanner;

     

public class test3 {

     

public static void main(String [] args){

Scanner keyboard=new Scanner(System.in);

System.out.println("Input how many numbers you want to find the median for (numerical value) :");
int num = keyboard.nextInt();
System.out.println("Please enter " + num + " numbers.");
int[] values = new int[num];
for (int i = 0; i < num; i++) {
    values[i] = keyboard.nextInt();        
}

for (int i = 0; i < num; i++) {
    System.out.println(values[i]);        
    }

   } 
}