我希望能够使用输入选择数组索引。
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++;
}
}
最佳答案
很抱歉,但我认为这不是多维数组的一个很好的例子...这里的第一个元素实际上没有做任何事情:{1,2,3}
。
要回答为什么当用户只输入“1”时所有 3 个元素都会打印出来的具体问题,这是因为该值被读入变量 num1
,但是 num1
不在打印输出的循环中的任何地方使用。如果您希望输入控制打印多少个值,则需要在 for 循环的测试表达式(括号中的中间短语)中使用 num1 。我认为一个好的第一步是像这样改变你的内部循环:
for (int i = 0; i<num1;i++){
System.out.println(stud1[1][i]);
ctr1 =in.readLine();
}
另请注意,i++
已移至 for
循环的括号内。如果您使用 for
,这确实是它所属的地方。
希望这有帮助!
关于java - 从数组中获取索引并将其输出到java中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25375269/