我希望能够使用输入选择数组索引。
Object stud1 [][] = {
{1,2,3},
{"favorite food: ","pet name: ","bday: "}
}
System.out.println("how many inputs?");
如果用户输入1,那么"最喜欢的食物:"将提示用户,如果用户输入2,则 最喜欢的食物:"和宠物名称:"会提示用户等等。
用户完成提示输入后,将显示:
favorite food: chicken
pet: doge
birthday: december 25,1994
/////////////////////////////////////////我的代码//// /////////////////////////////////////////
这个问题与我的另一个问题相似,我找不到正确的答案,因为我觉得它很混乱,不够具体。
它已经有效了,但问题是当我输入1时它仍会输出所有内容。我只希望它输出所有内容,如果用户输入3,这是我的数组中的索引数。
我对阵列还不是很好,特别是多阵列,我还在试验。
String ctr1;
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter How Many Inputs: ");
int num1 = Integer.parseInt(in.readLine());
if (num1 <= stud1.length) {
for (int x = 1; x<stud1.length;x++){
for (int i = 0; i<stud1[x].length;){
/*System.out.print("Enter Value #" + x++ +":");
ctr1 =Integer.parseInt(in.readLine());
i++;*/
System.out.println(stud1[x][i]);
ctr1 =in.readLine();
i++;
}
}
答案 0 :(得分:0)
对不起,但我不认为这是多维数组的一个很好的例子......这里的第一个元素没有真正做到:{1,2,3}
。
为了回答当用户仅输入&#34; 1&#34;时为什么要打印所有3个元素的具体问题,这是因为该值正被读入变量num1
,但{在打印输出的循环中的任何地方都不使用{1}}。如果您希望输入控制打印的值,则需要在num1
循环的测试表达式(括号中的中间短语)中使用num1
。我认为好的第一步是改变你的内循环:
for
另请注意,for (int i = 0; i<num1;i++){
System.out.println(stud1[1][i]);
ctr1 =in.readLine();
}
移动到i++
循环的括号内。如果您正在使用for
,那就非常适合它。
希望这有帮助!