-2

我需要有关如何在 Java 中使用 for 循环的帮助

这是课堂作业,所以我宁愿指出正确的方向而不是给出答案。

“有效的七个小矮人列表:瞌睡、害羞、医生、打喷嚏、快乐、脾气暴躁、笨拙 随机字符池,无效小矮人:Lion-O、Cheetara、Panthro、Tigra、Snarf、唐老鸭、米老鼠、米妮老鼠, 高飞, 希斯克利夫, 休伊, 杜威, 路易, 斯克罗吉·麦克杜克,

声明这些变量:

int counter = 7;
boolean firstSelection = false;
boolean secondSelection = false;
boolean thirdSelection = false;
boolean fourthSelection = false;
boolean fiveSelection = false;
boolean sixSelection = false;
boolean sevenSelection = false;

将三个选项的列表打印到控制台。要求用户在三个选项中选择正确的侏儒。三个选项的列表将包括随机字符列表中的两个名字和七个小矮人中的一个名字。You will create a switch statement to handle the choice selection When the wrong case is selected then decrement the int variable called counter and print to the console “wrong selection” When the correct case is selected then change the corresponding boolean variable to true (ie. . firstSelection, secondSelection 等)并打印到控制台“Hi Ho,你选对了” 默认情况下会在控制台打印一条语句“invalid selection” 创建一个循环,执行此操作七次,直到涵盖所有七个小矮人。

  • 使用 for 循环
  • 使用 do-while 循环重新创建循环
  • 使用 while 循环重新创建循环最后,创建 if-else 语句。该语句将具有短路 && 将测试所有布尔变量。如果属实,请在控制台上打印一条语句“您获得了金星!”。否则,在控制台上打印一条语句“你没有完全正确”。"

我完成了之前的作业,也就是没有循环的这个规范,没有问题。但是我真的不明白教授希望我们如何将循环整合到问题中。我唯一能想到的是,他想创建一个循环七次,以某种方式询问七次中的每一个不同的侏儒。这甚至可能吗?您可以在运行循环时更改循环的内容吗?我觉得我什至没有正确地思考这个问题。

这是我之前分配的代码,无循环:

import java.util.Scanner;

public class SevenDwarfs {

    public static void main(String[] args) {
        int counter = 7;
        boolean firstSelection = false;
        boolean secondSelection = false;
        boolean thirdSelection = false;
        boolean fourthSelection = false;
        boolean fiveSelection = false;
        boolean sixSelection = false;
        boolean sevenSelection = false;

        System.out
                .println("Which of the following is one of the seven drawfs?");
        System.out.println("1 Sleepy");
        System.out.println("2 Lion-O");
        System.out.println("3 Cheetara");

        Scanner input = new Scanner(System.in);
        int choice = input.nextInt();
        switch (choice) {

        case 1:
            System.out.println("Hi Ho, you picked the correct one");
            firstSelection = true;
            break;
        case 2:
            System.out.println("Wrong selection");
            --counter;
            break;
        case 3:
            System.out.println("Wrong selection");
            --counter;
            break;
        default:
            System.out.println("Invalid selection");
            --counter;
            break;
        }

        System.out
                .println("Which of the following is one of the seven drawfs?");
        System.out.println("1 Panthro");
        System.out.println("2 Bashful");
        System.out.println("3 Tigra");

        Scanner input2 = new Scanner(System.in);
        int choice2 = input2.nextInt();
        switch (choice2) {

        case 1:
            System.out.println("Wrong selection");
            --counter;
            break;
        case 2:
            System.out.println("Hi Ho, you picked the correct one");
            secondSelection = true;
            break;
        case 3:
            System.out.println("Wrong selection");
            --counter;
            break;
        default:
            System.out.println("Invalid selection");
            --counter;
            break;
        }

        System.out
                .println("Which of the following is one of the seven drawfs?");
        System.out.println("1 Snaf");
        System.out.println("2 Doc");
        System.out.println("3 Donald Duck");

        Scanner input3 = new Scanner(System.in);
        int choice3 = input3.nextInt();

        switch (choice3) {

        case 1:
            System.out.println("Wrong selection");
            --counter;
            break;
        case 2:
            System.out.println("Hi Ho, you picked the correct one");
            thirdSelection = true;
            break;
        case 3:
            System.out.println("Wrong selection");
            --counter;
            break;
        default:
            System.out.println("Invalid selection");
            --counter;
            break;
        }

        System.out
                .println("Which of the following is one of the seven drawfs?");
        System.out.println("1 Mickie Mouse");
        System.out.println("2 Sneezy");
        System.out.println("3 Minie Mouse");

        Scanner input4 = new Scanner(System.in);
        int choice4 = input4.nextInt();
        switch (choice4) {

        case 1:
            System.out.println("Wrong selection");
            --counter;
            break;
        case 2:
            System.out.println("Hi Ho, you picked the correct one");
            fourthSelection = true;
            break;
        case 3:
            System.out.println("Wrong selection");
            --counter;
            break;
        default:
            System.out.println("Invalid selection");
            --counter;
            break;
        }

        System.out
                .println("Which of the following is one of the seven drawfs?");
        System.out.println("1 Heathcliff");
        System.out.println("2 Happy");
        System.out.println("3 Goofy");

        Scanner input5 = new Scanner(System.in);
        int choice5 = input5.nextInt();
        switch (choice5) {

        case 1:
            System.out.println("Wrong selection");
            --counter;
            break;
        case 2:
            System.out.println("Hi Ho, you picked the correct one");
            fiveSelection = true;
            break;
        case 3:
            System.out.println("Wrong selection");
            --counter;
            break;
        default:
            System.out.println("Invalid selection");
            --counter;
            break;
        }

        System.out
                .println("Which of the following is one of the seven drawfs?");
        System.out.println("1 Huey");
        System.out.println("2 Grumpy");
        System.out.println("3 Dewey");

        Scanner input6 = new Scanner(System.in);
        int choice6 = input6.nextInt();
        switch (choice6) {

        case 1:
            System.out.println("Wrong selection");
            --counter;
            break;
        case 2:
            System.out.println("Hi Ho, you picked the correct one");
            sixSelection = true;
            break;
        case 3:
            System.out.println("Wrong selection");
            --counter;
            break;
        default:
            System.out.println("Invalid selection");
            --counter;
            break;
        }

        System.out
                .println("Which of the following is one of the seven drawfs?");
        System.out.println("1 Scrooge McDuck");
        System.out.println("2 Dopey");
        System.out.println("3 Louie");

        Scanner input7 = new Scanner(System.in);
        int choice7 = input7.nextInt();
        switch (choice7) {

        case 1:
            System.out.println("Wrong selection");
            --counter;
            break;
        case 2:
            System.out.println("Hi Ho, you picked the correct one");
            sevenSelection = true;
            break;
        case 3:
            System.out.println("Wrong selection");
            --counter;
            break;
        default:
            System.out.println("Invalid selection");
            --counter;
            break;
        }

        if (firstSelection == true && secondSelection == true
                && thirdSelection == true && fourthSelection == true
                && fiveSelection == true && sixSelection == true
                && sevenSelection == true) {
            System.out.println("You earned a gold star!");
        } else {
            System.out.println("\nYou did not get all correct.");
        }
    }
}
4

1 回答 1

4

你意识到你可能错误地思考了这个概念并寻求帮助这一事实是一件好事。

阅读以下内容以熟悉 Java 中的循环。

http://docs.oracle.com/javase/tutorial/java/nutsandbolts/while.html

http://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html

要回答您的问题,是的,您可以在运行时更改循环的内容。这就是变量的用途。您可以在程序运行时修改它们的值。看看这个样本。变量 i 随着循环的每次迭代而递增。变量 outsideLoop 在循环内部也会发生变化。玩这个,你会开始明白的。

class ForDemo
{
    public static void main(String[] args)
    {
        int outsideLoop = 0;
        for (int i = 1; i < 11; i++)
        {
            outsideLoop += i;
            System.out.println("Count is: " + i);
        }
        System.out.println("Outside loop is: " + outsideLoop);
    }
}

对于打印选择、获取用户输入和验证用户输入的过程,您已经有了一个很好的起点。重复该块(循环)7次。

于 2013-01-22T21:21:40.833 回答