Java使用固定长度迭代数组,并使用Scanner类获取值
如何使用固定长度为2的Scanner类获取java数组的值,该类将迭代直到其值等于给定值? 例如对于以下输入Java使用固定长度迭代数组,并使用Scanner类获取值,java,arrays,loops,for-loop,java.util.scanner,Java,Arrays,Loops,For Loop,Java.util.scanner,如何使用固定长度为2的Scanner类获取java数组的值,该类将迭代直到其值等于给定值? 例如对于以下输入 A G N H D F 我编写了一个for循环来获取固定数组road的值,其中长度是2,使用Scanner类 for(int i = 0; i<block.length; i++){ System.out.println("enter number"); block[i]=input2.next().charA
A G
N H
D F
我编写了一个for循环来获取固定数组road的值,其中长度是2,使用Scanner类
for(int i = 0; i<block.length; i++){
System.out.println("enter number");
block[i]=input2.next().charAt(0);
}
for(inti=0;i假设块和input2变量已经设置好,并且循环如图所示正在工作,将该循环放入控制器循环中
do {
for(int i = 0; i<block.length; i++){
System.out.println("enter number");
block[i]=input2.next().charAt(0);
}
} while (block[0] != 'C" && block[1] != 'C' )
do{
对于(inti=0;i您所需要的就是这个
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);
}
试着这样做:
Scanner input2 = new Scanner(System.in);
char[] block = new char[2];
ArrayList<String> arrayList = new ArrayList<String>();
int i = 0;
o:
while (block[0] != 'C' && block[1] != 'C') {
System.out.println("enter character");
block[i % 2] = input2.next().charAt(0);
i++;
arrayList.add(input2.next());
if(arrayList.size()>=2){
if(arrayList.get(arrayList.size()-1).equals("C") && arrayList.get(arrayList.size()-2).equals("C"))
{
break o;
}
}
}
System.out.println(arrayList);
Scanner input2=新的扫描仪(System.in);
char[]block=新字符[2];
ArrayList ArrayList=新的ArrayList();
int i=0;
o:
while(块[0]!=“C”&块[1]!=“C”){
System.out.println(“输入字符”);
块[i%2]=input2.next().charAt(0);
i++;
add(input2.next());
如果(arrayList.size()>=2){
if(arrayList.get(arrayList.size()-1).equals(“C”)和&arrayList.get(arrayList.size()-2).equals(“C”))
{
断开o;
}
}
}
System.out.println(arrayList);
我从你的问题中得出以下假设
您有一个固定长度的数组,您希望将其读入其中
使用扫描器的值
将值读入数组后,您希望对其进行比较
使用另一个数组中的值进行数组,如果输入
数组与您的数组匹配
这是一个简单的程序:
String[] scannedValues=new String[2];
String[] matchValue={"X","Y"};
boolean isMatched=false;
Scanner s=new Scanner(System.in);
while(!isMatched)
{
for(int i=0;i<scannedValues.length;i++)
{
scannedValues[i]=s.nextLine();
}
for(int i=0;i<scannedValues.length;i++)
{
if(matchValue[i].equals(scannedValues[i]))
isMatched=true;
else
isMatched=false;
}
if(isMatched)
s.close();
}
String[]scannedValues=新字符串[2];
字符串[]匹配值={“X”,“Y”};
布尔值isMatched=false;
扫描仪s=新的扫描仪(System.in);
而(!IsMatch)
{
对于(int i=0;i你的意思是要填充数组吗?你的问题很混乱。数组长度是固定的。也就是说数组长度是2。但是我想迭代数组,如我在示例中所示。(长度将保持不变)Scanner类的相关性是什么?你为什么要使用它?@dnk:现在还不清楚你的意思。通常,当有人谈论对数组进行迭代时,他们谈论的是从数组中读取数据,但听起来你可能在试图向它写入数据。基本上,我们无法知道你现在想问什么。Scanner类是获取用户输入值。谢谢!这很有效!您能告诉我如何引用ech数组吗?例如,第一个数组的第一项或第三个数组的第二项也是这样吗?根据情况,您没有保留每个数组的副本。您需要某个地方来存储您读取的每个数组。要向您展示如何引用ech数组,我们需要知道什么类型的p处理您想对数组执行的操作。您是否关心读取它们的顺序?是否需要对它们进行排序?在您的问题中提供更多的上下文。是的,我希望复制每个输入数组,而不替换上面代码中的每个数组。我是否要在其中放入for循环并保存每个输入数组值?谢谢!我如何引用指向特定数组中的每个项目。例如,如何引用用户输入的第一个数组中的第一个项目?或第三个数组中的第二个项目?字符(0)-表示用户输入的第一个字符,但在单个条目中