gpt4 book ai didi

Java操作扫描仪输入

转载 作者:行者123 更新时间:2023-12-02 05:52:28 24 4
gpt4 key购买 nike

我对 Java 非常陌生,目前正在学习入门类(class)。我正在开发一个程序,该程序创建两个篮球队并要求用户输入两支球队的得分。

要为第一支球队添加分数,用户输入“a”,后跟一个空格以及要添加的分数。要添加到第二个团队,请使用“b”,后跟空格和分数。

现在一切正常,但我希望当用户输入“exit”而不是“a 2”或“b 1”等时游戏结束。

我已经相应地设置了我的类和方法,但我的问题是,它要么可以很好地添加分数,要么可以很好地阅读退出并调出最终分数......但不能两者兼而有之。

换句话说,我设法正确存储输入“exit”或“a 2”等,但只要一个有效,另一个就不起作用。

我尝试过各种代码组合,但没有任何效果,这就是我目前所拥有的:

if (keyboard.nextLine().equals("exit")) {
System.out.println("exit");
}
else {
team = keyboard.next();
points = keyboard.next();
System.out.println("not exit");
}

当我在要求分数时输入 exit 时,这会打印出 exit...但是当我输入参数“a 2”时,它就会挂起。

不幸的是,我不允许使用数组。请帮忙。

最佳答案

当前您的问题是您正在读取整行,如果不是 exit,则您预计还有 2 个字符串输入,而不是使用最后一个。这就是它卡住的原因。

你可以这样解决:

String firstToken = keyboard.next();
if (firstToken.equalsIgnoreCase("exit")) {
System.out.println("exit");
}
else {
team = firstToken;
points = keyboard.next();
}

它的作用是:

  • 从键盘读取第一个字符串标记
  • 如果是“退出”,忽略任何大小写,那么它就会退出
  • 否则这个标记就是团队,下一个标记应该是积分。

关于Java操作扫描仪输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23422976/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com