java中扫描仪程序_扫描仪始终需要两个输入(Java)

我试图实现一个让玩家选择用户名的方法。该方法建议基于当前运行的操作系统的用户名。现在我想给用户一个选项,如果他/她不满意这个建议,可以更改他的/她的昵称。现在的问题是,我总是必须输入两次我的声明,因为我猜其中一个没有被采纳。

(例如,我必须输入:

“是”

“是”)

我试图在while循环中更改语句(例如,“nameChange.hasNextLine()”)。我试过在“line=nameChange.nextLine();”前后添加“nameChange.nextLine();”(作为一个类似的帖子),但都没有成功。

public class SetUsername implements Runnable {

/**

* Suggests a name based on the accessing OS's user Let's the user change the suggestion to his

* or her own username.

*/

@Override

public void run() {

String name = System.getProperty("user.name");

Scanner nameChange = new Scanner(System.in);

System.out.println("Your username is: " + name + ". Would you like to change it? (y/n)");

String line;

while (true) {

line = nameChange.nextLine();

if (line.equals("y")) {

System.out.println("Chose a new username:");

while(true) {

name = nameChange.nextLine();

System.out.println("Your new username is "+ name);

break;

}

break;

} else if (line.equals("n")) {

break;

} else {

System.out.println("Invalid input. Your username is: " + name + ". "

+ "Would you like to change it? (y/n)");

}

}

send(Command.SET_USERNAME, name);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值