Java使用scanner来访问数组元素

时间:2013-11-18 23:06:03

标签: java arrays

我使用scanner类创建了一个长度为8的数组元素。我试图通过扫描仪接受用户输入并打印出该索引位置的值。例如,如果用户输入“2”,则在第二个元素处打印出值。我在谷歌搜索但所有资源都是如何使用扫描仪将数据输入数组,而不是使用扫描仪来回溯数据。我想到的唯一方法是使用一些荒谬的if else语句,但必须有一个更简洁的方法来循环执行它?

这是我的阵列,我用扫描仪来填充我的阵列。现在,在提示时,用户必须输入1到8之间的数字。如果输入1,则打印出解决方案[0]。输入8,打印解决方案[7]等希望现在更容易理解

    String[] solution = new String[8];
    Scanner scan = new Scanner( System.in );
    for( int i = 0; i < solution.length; i++ ){
        System.out.println( "Enter solution:" );
        solution[ i ] = scan.next();
    }
    scan.close();
    Scanner scan1 = new Scanner( System.in );
    String selection;

    System.out.println("Enter an int between 0 and 7 to retrieve the Selection: ");
    selection = scan1.next();
    int i = Integer.parseInt(selection);

    System.out.println( "The Selection is: " + solution[i] );

4 个答案:

答案 0 :(得分:1)

如果没有任何代码,这很难,但基本上,使用扫描程序将输入转换为字符串selection,使用int i将整数值转换为int i = Integer.parseInt(selection);,然后{{1} }。

答案 1 :(得分:0)

您必须读取一个int,并在获取存储在指定索引处的值时使用它。

执行此操作的方法如下:

yourArray[scanner.nextInt()];

其中scannerScanner对象。

为了捕捉你在阅读你认为是数字的东西时可能会得到的豁免,你可以这样做:

Scanner scanner = new Scanner(System.in);
try {
    yourArray[scanner.nextInt()];

} catch(IllegalStateException | NoSuchElementException e) { // <--- Java 1.7 syntax, in case you wonder
    e.printStackTrace();
}

答案 2 :(得分:0)

Scanner input = new Scanner(System.in);

然后输出:

urArray[input.nextInt()];

答案 3 :(得分:0)

 import java.util.Scanner;
 public class array1
 {
 public static void main(String args[])
 {
 int arr[]=new arr[100];
 int i;
 Scanner sc=new Scanner(System.in);
 System.out.pritln("Enter the Number of Element less than 100");
 int a=sc.nextInt();
 System.out.println("Enter the Number");
 for(i=0;i<a;i++)
 {
 arr[i]=sc.nextInt();
 }
 System.out.println("List of Elements in array");
for(i=0;i<a;i++)
{
System.out.println(arr[i]);
}
}
}