我正在尝试将一些字母输入两个不同的arrs然后打印一些结果消息,但我必须键入6次,我的结果是最后两次
String str1[] =new String[100];
String str2[]=new String[100];
int count=0;
while(true) {
Scanner s1=new Scanner(System.in);
if(s1.nextLine()=="END") {
break;
}
str1[count]=s1.nextLine();
Scanner s2=new Scanner(System.in);
if(s2.nextLine()=="END") {
break;
}
str2[count]=s2.nextLine();
count++;
System.out.println("完成第" + count + "个依赖" + " " + s1.nextLine() + "->" + s2.nextLine());
}
答案 0 :(得分:1)
每当您拨打nextLine
时,您都会获得一个新线路(这就是为什么您必须多次输入所有内容,您不能保存所获得的值)。将String
个实例与.equals
进行比较,您只需要一个Scanner
,不要在每个循环迭代中丢弃两个。像,
Scanner s1 = new Scanner(System.in);
while (true) {
String a = s1.nextLine();
if (a.equals("END")) {
break;
}
str1[count] = a;
String b = s1.nextLine();
if (b.equals("END")) {
break;
}
str2[count] = b;
count++;
System.out.println("完成第" + count + "个依赖" + " " + a + "->" + b);
}