Java 如何使用ENTER退出循环
当用户按ENTER键时,如何退出此循环。这是我所做的代码的一部分。当用户按下ENTER键时,我在如何编码方面遇到了问题Java 如何使用ENTER退出循环,java,arrays,do-while,Java,Arrays,Do While,当用户按ENTER键时,如何退出此循环。这是我所做的代码的一部分。当用户按下ENTER键时,我在如何编码方面遇到了问题 static String[] itemList = new String[10]; do { System.out.print("Enter item (press ENTER to exit) " + (count + 1) + ": "); String item = input.next(); itemList[count] = item;
static String[] itemList = new String[10];
do {
System.out.print("Enter item (press ENTER to exit) " + (count + 1) + ": ");
String item = input.next();
itemList[count] = item;
if (item == "")
count = itemList.length;
您正在使用
==
而不是.equals()
比较字符串
这将比较指向字符串的指针,而不是字符串的内容 进入循环前检查条件。例如:
Scanner scanner = new Scanner(System.in);
String readString = scanner.nextLine();
while(readString!=null)
{
System.out.println(readString);
if(readString.equals(""))
System.out.println("Read Enter Key.");
if(scanner.hasNextLine())
readString = scanner.nextLine();
else
readString = null;
}
boolean statusIsNotReady = true;
while(statusIsNotReady) {
// do your fty;
if(someCondition) {
statusIsNotReady = false; // If the status changed
}
}
公共类SampleInputReader{
公共静态void main(字符串参数[]){
String[]itemList=新字符串[10];
整数计数=0;
扫描仪键盘=新扫描仪(System.in);
字符串数据=”;
做{
系统输出打印(“输入项目(按Enter键退出)”+(计数+1)+“:”;
data=keyboard.nextLine();
if(data.isEmpty())
打破
itemList[计数]=数据;
计数++;
}虽然(正确);
for(int i=0;i
但是我建议您使用Arraylist而不是Arraylist。代码中的在哪里?@LutzHorn这只是我编码的一部分。@kumar您能解释一下吗?抱歉,我刚开始学习编程&这是为我的项目准备的不确定,但可以尝试模式p=Pattern.compile(“\n”);do{String data=scan.next();Matcher m=p.Matcher(data);boolean b=m.matches();if(b)break;}//可以尝试类似的方法。我在答案部分添加了下面的代码。他的意思是你必须使用String#equals
来比较字符串,而不是=
:item.equals(“”
)<代码>=
比较引用,而不是内容。请阅读一些关于字符串的Java教程。@m0skit0对不起,我还是不太懂。我刚开始为我的课程学习编程
public class SampleInputReader{
public static void main(String args[]){
String[] itemList = new String[10];
int count = 0;
Scanner keyboard = new Scanner(System.in);
String data = "";
do{
System.out.print("Enter item (press ENTER to exit) " + (count + 1)+ ": ");
data = keyboard.nextLine();
if(data.isEmpty())
break;
itemList[count] = data;
count++;
}while(true);
for(int i = 0; i< itemList.length; i++)
System.out.println(itemList[i]);
}
}