仅在while循环中打印一次语句

时间:2014-03-19 14:08:10

标签: java loops printing while-loop

这可能非常简单,但我已经完全消失了,并会欣赏一些指示。我正在创建一个我们已分配的小游戏,我们选择数字,然后提供目标号码,尝试使用我们选择的数字进行搜索。在我的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;

3 个答案:

答案 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