如何将用户输入值放入数组中然后将其打印出来

时间:2016-03-04 15:33:24

标签: java arrays

所以我的问题是,我是否试图让用户将10个值输入到数组中,然后打印出数组并说出用户输入某个值的次数。我对阵列有点新意,我不太了解它们,如果有人可以帮助我,那将会很酷。到目前为止,这是我的代码:

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {
  Scanner scan = new Scanner (System.in);            
  double[] number = new double[10];

  // User input         
  System.out.println("Enter in 10 numbers");
  for (int index = 0; index < number.length; index++) {
    number[index] = scan.nextInt(); 
    System.out.println(number[index]);
  }  
}  

2 个答案:

答案 0 :(得分:0)

您希望用户输入什么?字符串,整数,实数,还有什么?

您声明了一个类型为double的数组,但是在循环中,您将扫描整数。如果double值符合您的预期(我将假设),那么这将导致错误。您应该使用scan.nextDouble()代替。这应该解决你的部分问题。

另一部分是弄清楚用户输入特定值的次数&#34;。这个价值是多少?它是固定的还是你收到它作为输入?您需要在某处存储此特定值,然后在循环中,您需要检查当前提供的值是否与您要注意的特殊值相匹配。每次用户输入此特殊值时,您需要递增计数器变量并将其打印出来。

否则,就数组操作而言,您的代码是正确的。你想存储10个数字,你声明一个大小为10的数组,你循环10次以获得一个数字并将其保存在数组中。

答案 1 :(得分:0)

我不确定你想要达到的目的但也许这对你有帮助。

import java.util.Scanner;
import static java.lang.System.out;
public class Main {

public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);

    int[] number = new int[10];
    int numberToSearchFor;
    int findings = 0;
    //User input

    out.println("Enter in 10 numbers");
    for(int index = 0; index < number.length; index++){
        number[index] = scan.nextInt();
    }
    printArray(number);
    out.println("Enter the number to search for:");
    numberToSearchFor = scan.nextInt();

    for(int index = 0; index < number.length; index++) {
        if(number[index] == numberToSearchFor) {
            findings++;
        }
    }

    out.println(numberToSearchFor + " was found " + findings + " times");

}

private static void printArray(int[] number) {
    out.print("[");
    for(int index = 0; index < number.length; index++){
        out.print(number[index]);
        if(index<number.length-1) {
            out.print(",");
        }
    }
    out.println("]");
}
}

这是一个例子:

Enter in 10 numbers
2
3
4
3
2
2
3
2
3
4
[2,3,4,3,2,2,3,2,3,4]
Enter the number to search for:
2
2 was found 4 times