Java在用户按下按钮时停止do while循环
Java新手。因此,我希望用户能够随时通过键入“退出”停止付款过程。我怎样才能做到这一点?尝试了do while循环,但不起作用。这是密码Java在用户按下按钮时停止do while循环,java,Java,Java新手。因此,我希望用户能够随时通过键入“退出”停止付款过程。我怎样才能做到这一点?尝试了do while循环,但不起作用。这是密码 public void payItems() { Scanner s = new Scanner(System.in); String word; do { System.out.println("Enter name: "); String name = s.next(); s.n
public void payItems() {
Scanner s = new Scanner(System.in);
String word;
do {
System.out.println("Enter name: ");
String name = s.next();
s.nextLine();
//where should I put word = s.next
System.out.println("Enter address: ");
String address = s.nextLine();
System.out.println("Enter card number: ");
int cardNo = s.nextInt();
System.out.println("Enter card expiration date: (DDMMYY)");
int expirationDate = s.nextInt();
Customer newcust = new Customer(name, address, cardNo, expirationDate);
} while (!word.equals("quit"));
}
您只需按如下方式更改代码
boolean status=true;
do {
Scanner s = new Scanner(System.in);
System.out.println("Enter name: ");
String name = s.nextLine();
System.out.println("Enter address: ");
String address = s.nextLine();
System.out.println("Enter card number: ");
int cardNo = s.nextInt();
System.out.println("Enter card expiration date: (DDMMYY)");
int expirationDate = s.nextInt();
System.out.println("You want to add more or quit(type continue to add another, type quit to exit): ");
String word=s.next();
if(word.equals("quit")){
status=false;
}
} while (status);
所以你必须这样想:
Scanner s = new Scanner(System.in);
System.out.println("Enter name: ");
String name = s.next();
s.nextLine();
if (name.equals("quit")
return;
//where should I put word = s.next
System.out.println("Enter address: ");
String address = s.nextLine();
if (address.equals("quit")
return;
System.out.println("Enter card number: ");
int cardNo = s.nextInt();
System.out.println("Enter card expiration date: (DDMMYY)");
int expirationDate = s.nextInt();
Customer newcust = new Customer(name, address, cardNo, expirationDate);
但它不适用于cardNo和expiration,因为它们是int值,所以不能输入“quit” 我不太明白你想要什么。如果用户在名称或地址中输入“quit”或…,是否要停止进程?是的,因此如果用户键入quit,则循环将立即停止,否则用户将继续输入其详细信息以获取该修复。但是是的,我的问题是我怎样才能停止循环。我是不是应该每隔两行(在字符串name=s.next()之后)放一行word=s.nextLine,所以我想你误解了我的意思。在您的代码中,它要求用户在输入到期日期后退出。我希望用户可以通过键入quit随时退出。詹斯已经给了我答案。谢谢你的回复。干杯:)