Как я могу перейти к началу кода или к определенным частям? - PullRequest
0 голосов
/ 28 мая 2018

Как бы я хотел перебрать начало кода, если retry = no или если retry = yes, как мне вернуться к вопросу № 1?Извините, если этот вопрос очень тупой, я новичок в кодировании.Вот мой код на данный момент.

import java.util.Scanner;


public class MainGame {

    static Question[] questions = new Question[15];

    public static void main(String[] args) {
        loadQuestions(); //I found an error in my code were when I printed my questions it printed "null", I fixed that by calling the loadQuestions function. 

        Scanner kb = new Scanner(System.in);
        String userChoice = "", userAnswer = "", retry = "yes";


        System.out.println("Welcome to The Not Very Possible Quiz! ");
        System.out.println("By: Danny Gill");

        do {
            System.out.println("Type In 'Play' to start playing, or type in 'Records' to see your high scores from previous games.");
            userChoice = (kb.nextLine().toLowerCase());
        } while (!(userChoice.equals("play") || userChoice.equals("records")));

        if (userChoice.equals("records")) {
            System.out.println("High Scores:");
        } else if (userChoice.equals("play")) {
            System.out.println("Get Ready!");
            System.out.println(questions[0]);
            userAnswer = (kb.nextLine().toLowerCase());
        if (userAnswer.equals("a")) {
            System.out.println(questions[1]);
        } else System.out.println("Wrong!");


        do {
            System.out.println("\n" + "Do you want to play again?"); 
            retry = (kb.nextLine()).toLowerCase();
        } while (!(retry.equals("yes") || retry.equals("no")));
    } while (retry.equals("yes"));


}












    public static void loadQuestions() {
        questions[0] = new Question("Which concert is the cheapest?", "50 Cent", "Drake", "Rihanna", "2-Pac");
        questions[1] = new Question("Who was the first president of the USA?", "Donald Trump", "John Adams", "George Washington", "George W. Bush");
        questions[2] = new Question("Which country has the largest military?", "United States", "India", "China", "North Korea");
        questions[3] = new Question("In Hockey how many players are on the ice for each team?", "6", "5", "7", "4");
        questions[4] = new Question("What is Canada's national sport?", "Lacrosse", "Hockey", "Basketball", "Soccer");
        questions[5] = new Question("Who was the first prime minister of Canada?", "Lester B. Pearson", "Stephen Harper", "John A. Macdonald", "Alexander Mackenzie");
        questions[6] = new Question("What is the largest city in Canada?", "Calgary", "Toronto", "Montreal", "Vancouver");
        questions[7] = new Question("How many continents are there?", "5", "6", "7", "8");
        questions[8] = new Question("What is Pakistan's currency?", "Euro", "Dollar", "Rupee", "Yen");
        questions[9] = new Question("Who is currently the richest person on Earth?", "Bill Gates", "Elon Musk", "Jeff Bezos", "Mark Zuckerberg");
        questions[10] = new Question("Which planet is nearest to the sun?", "Earth", "Mercury", "Venus", "Saturn");
        questions[11] = new Question("Who invented Ferrari?", "Sergio Marchionne", "Endo Ferrari", "Enzo Ferrari", "Bill Ferrari");
        questions[12] = new Question("Who painted the Mona Lisa?", "Pablo Picasso", "Leonardo Who Cares", "Leonardo DiCaprio", "Leonardo Da Vinci");
        questions[13] = new Question("In what year was Google launched on the web?", "1998", "2000", "1997", "1990");
        questions[14] = new Question("How often are the olympics held?", "3 Years", "4 Years", "5 Years", "2 Years");

    }


}

Ответы [ 2 ]

0 голосов
/ 29 мая 2018

Вы также можете использовать break , чтобы перейти к определенной части кода

Пример:

**search:**
    for (i = 0; i < arrayOfInts.length; i++) {
        for (j = 0; j < arrayOfInts[i].length;
             j++) {
            if (arrayOfInts[i][j] == searchfor) {
                foundIt = true;
                **break search;**
            }
        }
    }
0 голосов
/ 28 мая 2018

В вашей "игровой" части я бы использовал цикл for.Если пользователь ответит неверно, вы спросите его, хочет ли он повторить.Если он говорит «да», тогда снова установите i на 0.

for(int i=0; i<=questions.length; i++) {
 // Ask questions[i]
 // IF answer is okay THEN continue;
 // ELSE ask IF user wants to restart
 // IF yes THEN i=0
 // IF ``no THEN break
}

Подсказка: реализуйте метод, чтобы получить правильный ответ, и сравните ответ в своем классе Question.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...