我在使用Javas扫描器时遇到一些问题,我想做的是获取输入并将其放入对象并循环,直到用户这样说,在第一个循环中一切正常,但在第二个循环中扫描程序跳过输入名称。
我的代码:
do
{
//Prompts user for object variables
System.out.println("Please enter the name of person: ");
Client.SetName(kb.nextLine());
System.out.println("Please enter the coin value for person: ");
Client.SetCoins(kb.nextInt());
System.out.println(Client.GetName() + " " + Client.GetCoins());
//Clients.add(Client);
//Checks if user wants to loop
System.out.print("Do you have another client to person (y/n)");
bool = kb.next().trim().toLowerCase().charAt(0);
}while(bool != 'n');
控制台日志:
请输入人名:
测试
请输入人物的硬币价值:
5
测试5
您是否还有另一个客户(y / n)y
请输入人名:
请输入人物的硬币价值:
10
10
您是否还有另一个客户(y / n)y
请输入人名:
请输入人物的硬币价值:
测试
线程“ main”中的异常java.util.InputMismatchException
答案 0 :(得分:1)
尝试在获取名称作为输入的同时将nextLine更改为next