我对编程相当陌生。目前我正在做一个uni项目,用java创建一个基本的文本游戏。我遇到的问题是,如何实现一个不允许用户输入相同名称的业务规则。我把它设置好了,这样扫描仪就可以读取阵列了。我使用的是Java,这是我第一次使用这个论坛,所以我非常感谢大家提供的帮助,并提前感谢大家!:)
并为糟糕的格式道歉,我不知道如何正确发布。
try {
// Takes in the number of players
int noOfPlayers;
Scanner s = new Scanner(System.in);
System.out.println("Enter number of players between 2 and 4");
noOfPlayers = s.nextInt();
s.nextLine();
if (noOfPlayers < 2 || noOfPlayers >= 5) { // limits number of players enter no less than 2 and no greater than 4
System.out.println("Nope wrong number");
enterInfo();
s.close();
return;
} else {
// array for storing player names
String[] names = new String[noOfPlayers];
// iterates through the array depending how many players are selected
// and takes in String input
for (int counter = 0; counter < noOfPlayers; counter++) {
System.out.println("Enter name of player : " + (counter + 1));
names[counter] = s.nextLine();
// fix this to stop same name sbeing entered
//if(names.equals(names)) {
// System.out.println("Enter a different name");
// counter--;
// }
}
}
s.close();
} catch (Exception e) {
System.out.println("Problem");
}
}
使用套装怎么样?布景必须有所有不同的东西。
就像在Array中[kim, lee, kim, park]但是在Set中[kim, lee, park]
输入kim=
输入李=
输入kim=
然后你要做的就是告诉他们“改名plz”
String name = s.nextLine();
names[counter] = name;
Set<String> set = new HashSet<String>();
set.add(name)
if(names.length != set.size())
{
System.out.println("Enter a different name");
counter--;
}
我希望你能理解我拙劣的解释。
我想在我的代码中手动读取一些值。除了最后一个(lambda2)之外,它对所有值都有效。我可以无限地继续键入值,即使它们不是双精度的,也不会发生任何事情。如果我用任何其他值键入其他值,我会收到一条错误消息,以及第一次输入lambda2时的错误消息。我在另一个代码中以类似的方式(最终只创建了一个不同的对象)进行了操作,并且效果很好。
为此,我创建了一个名为的单例。这个类处理所有的输入阅读内容。我创建了一个名为的方法,它将回调作为参数。在这个方法中,我创建了一个新线程,并在其中等待使用的输入。这个类还有方法,它向上面描述的线程发送中断消息。下面是该类的当前实现: 这个代码极不可靠。我一会儿就告诉你我的意思。我制作了一个名为Client的玩具类,在中,我用计时器模拟了消息收入。 以下是它的工作原理: 我知道这个问题非常长(也许是不
我正在制作一个地下城探索类型的游戏,用户可以输入输入作为一个移动每回合(选择一个方向移动)。然而,我遇到了一个问题与采取扫描仪输入。当我测试我的方法一次,它是正确的,然而,当我把它进入一个while循环,以便我可以从玩家的每一个回合,我得到一个新的移动,在第一次输入后,我得到了一个错误。我不明白为什么我会得到这个错误,因为它不应该每次运行时都扫描新的输入吗?谢谢你的洞察力。 错误如下: 下面是有问
我遇到的问题是,如何发送enter以结束循环?因为系统。在里面read()取第一个数字,如果我再加上2个数字,示例可以是, 条目: 2 3(输入)读2个数字和和 1 2(输入)读2个数字和和 (enter)这里结束循环,因为enter和no数字,并给出了解决方案 出口: 5. 3. 我不知道我以前发过什么
问题内容: 我正在尝试编写此方法,该方法会不断从用户那里读取内容,直到输入单词“ exit”为止。我尝试了一个for和break循环;它没有用。我尝试了一段时间,但即使输入了“退出”一词也不会停止。任何想法如何解决这一问题?谢谢。 问题答案: 是错的。 你要 要么 分别取决于exit是变量还是字符串文字。在Java中,表示引用相等(例如,这两个引用指向内存中的相同地址),而。表示对象等效项,通常在
我正在使用Java的扫描仪读取用户输入。如果我只使用nextLine一次,它可以正常工作。对于两个nextLine,第一个不等待用户输入字符串(第二个)。 输出: X:Y:(等待输入) 我的代码 你知道为什么会发生这种事吗?谢谢