从数组中获取索引并用java输出
我希望能够使用输入选择数组索引从数组中获取索引并用java输出,java,multidimensional-array,user-input,bufferedreader,Java,Multidimensional Array,User Input,Bufferedreader,我希望能够使用输入选择数组索引 Object stud1 [][] = { {1,2,3}, {"favorite food: ","pet name: ","bday: "} } System.out.println("how many inputs?"); 如果用户输入1,则favorite food:将提示用户,如果用户输入2,则 最喜欢的食物:和宠物名称:都会提示用户等等 用户完成提示输入后,将显示: favorite
Object stud1 [][] = {
{1,2,3},
{"favorite food: ","pet name: ","bday: "}
}
System.out.println("how many inputs?");
如果用户输入1,则favorite food:将提示用户,如果用户输入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循环的括号内。这才是它真正的归属,如果你用它的话
希望这有帮助 什么是stud1?您从未声明stud1,也从未在double for循环中修改stud1。