使用固定长度迭代Java数组以获取用户输入值,而不替换以前的值
如何循环固定长度为2的Java数组进行迭代而不替换以前的值?下面的代码将采用迭代循环的用户输入值。但它将替换以前的值:使用固定长度迭代Java数组以获取用户输入值,而不替换以前的值,java,arrays,loops,Java,Arrays,Loops,如何循环固定长度为2的Java数组进行迭代而不替换以前的值?下面的代码将采用迭代循环的用户输入值。但它将替换以前的值: Scanner input2 = new Scanner(System.in); char[] block = new char[2]; while (block[0] != 'C' && block[1] != 'C') { System.out.println("enter number"); block[0]=input2.next().c
Scanner input2 = new Scanner(System.in);
char[] block = new char[2];
while (block[0] != 'C' && block[1] != 'C') {
System.out.println("enter number");
block[0]=input2.next().charAt(0);
System.out.println("enter number");
block[1]=input2.next().charAt(0);
System.out.println(block);
}
如果用户为数组输入C,C,那么数组应该停止迭代
谢谢你这是你想要的吗?循环将在每次迭代的索引
[0]
和[1]
之间切换
Scanner input2 = new Scanner(System.in);
char[] block = new char[2];
int i = 0;
while (block[0] != 'C' && block[1] != 'C') {
System.out.println("enter number");
block[i%2]=input2.next().charAt(0);
i++;
System.out.println(block);
}
有两种方法可以做到这一点:
HashMap
。也许是最好的解决办法char[]block=new char[100][2]代码>。这最多只能处理100个输入
我的建议是使用
HashMap
,但我假设您还没有学习数据结构。如果这是一个作业,我唯一能建议的就是使用一个设置大小的2D数组,只允许这么多输入。您已经问过这个问题。如果可能的话,请编辑您的问题本身。您应该使用for循环进行迭代。@Jhanvi我想复制用户输入值,而不用新输入的值替换它们。代码太长了吗?那没有任何意义。你们到底得到了什么异常?线路太长,请切换到包裹模式查看整条线路