这可能非常简单,但我已经完全消失了,并会欣赏一些指示。我正在创建一个我们已分配的小游戏,我们选择数字,然后提供目标号码,尝试使用我们选择的数字进行搜索。在我的while循环中,一旦我的条件达到6,它就会要求用户生成目标数字,但是一旦它们再次打印相同的字符串“生成最终字符串”,我该如何只打印一次?
以下是代码,如果有帮助的话。
while (lettersSelected == false) {
if (finalNum.size() == 6) {
System.out.println("3. Press 3 to generate target number!");
} // Only want to print this part once so it does not appear again.
Scanner input = new Scanner(System.in);
choice = input.nextInt();
switch (choice) {
case 1:
if (finalNum.size() != 6) {
largeNum = large.get(r.nextInt(large.size()));
finalNum.add(largeNum);
largeCount++;
System.out.println("Numbers board: " + finalNum + "\n");
}
break;
答案 0 :(得分:0)
可以很容易地完成。
boolean isItPrinted = false;
while (lettersSelected == false) {
if ((finalNum.size() == 6) && (isItPrinted == false)) {
System.out.println("3. Press 3 to generate target number!");
isItPrinted = true;
}
答案 1 :(得分:0)
首先满足条件if (finalNum.size() == 6)
,因此打印字符串。但是,在while
循环的下一次迭代期间,finalNum
的大小没有改变,因为在开关的case 1
中检查了条件的相反,并且大小未更改这两个陈述之间的任何地方。
答案 2 :(得分:0)
您可以添加一个标志变量并将其设置为true
,在if
contidion中添加对该变量的检查,如果输入if-clause
,则将变量设置为{{ 1}}:
false