当用户按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;
if (item == "")
count = itemList.length;
答案 0 :(得分:3)
您正在使用String
而不是==
来比较.equals()
。
这会将指针与String
进行比较,而不是String
的内容。
答案 1 :(得分:0)
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;
}
答案 2 :(得分:0)
在进入循环之前检查条件。例如:
boolean statusIsNotReady = true;
while(statusIsNotReady) {
// do your fty;
if(someCondition) {
statusIsNotReady = false; // If the status changed
}
}
答案 3 :(得分:0)
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]);
}
}
但是我建议你使用Arraylist而不是Array。