我使用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] );
答案 0 :(得分:1)
如果没有任何代码,这很难,但基本上,使用扫描程序将输入转换为字符串selection
,使用int i
将整数值转换为int i = Integer.parseInt(selection);
,然后{{1} }。
答案 1 :(得分:0)
您必须读取一个int,并在获取存储在指定索引处的值时使用它。
执行此操作的方法如下:
yourArray[scanner.nextInt()];
其中scanner
是Scanner
对象。
为了捕捉你在阅读你认为是数字的东西时可能会得到的豁免,你可以这样做:
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]);
}
}
}