簡體   English   中英

如何循環測驗一定次數並增加生命,Java

[英]How to loop quiz a certain amount of times and add lives, Java

我正在制作一個數學問答游戲,但我不知道如何循環它,比如說 50 次。 只回答了2個問題就結束了。 我還想增加生命,所以在你答錯三個問題后,程序就結束了。 我怎么能做到這一點?

    import java.util.Scanner;

public class Game {

    public static void main(String[] args) {
    Scanner keyboard = new Scanner(System.in);



    int Number1 =  (int)(20 * Math.random()) + 1;
    int Number2 =  (int)(20 * Math.random()) + 1;

    int correct = 0;


    System.out.print(Number1 + " + " + Number2 + " = ");
    int GuessRandomNumberAdd = keyboard.nextInt();

    if (GuessRandomNumberAdd == Number1 + Number2) {
    System.out.println("Correct!");
    correct++;
  }else {
    System.out.println("Wrong!");


  }
    System.out.print(Number1 + " * " + Number2 + " = ");    
    int GuessRandomNumberMul = keyboard.nextInt();

  if (GuessRandomNumberMul == Number1 * Number2) {
      System.out.println("Correct!");
      correct++;
  }else{
        System.out.println("Wrong!");




System.out.println("You got " + correct + " correct answers.");

int正確后= 0; 添加一個生命計數器。 例如:int life = 3; 然后開始一個 while 循環 while(lives > 0){

如果問題不正確(您輸入“錯誤!”信息的地方)會減少生命--;

在 while 循環結束時(在沒有打印出正確答案之前)記得放最后一個 }

這將繼續循環直到你失去生命

幾件事: - 有多個 java 結構允許您循環。 任何類型的編程語言中的主要循環是 for 循環、while 循環和 do-while 循環(不常見)-您可以通過定義一個變量並在每次迭代中檢查它來創建生命(一次迭代是每次“運行”通過循環的代碼)。

實現這 2 件事后,您的代碼將如下所示:

    import java.util.Scanner;

public class Game {

    public static void main(String[] args) {
    Scanner keyboard = new Scanner(System.in);

    int Number1 =  (int)(20 * Math.random()) + 1;
    int Number2 =  (int)(20 * Math.random()) + 1;

    int correct = 0;
    int lives = 3;
    //The for loop is read as: having i equal 25 and the variable lives, iterate if i is lower than 25 AND lives is higher than 0. After an iteration, add 1 to i;
    for (int i=25, lives; i<25 && lives > 0; i++) {

    System.out.print(Number1 + " + " + Number2 + " = ");
    int GuessRandomNumberAdd = keyboard.nextInt();

    if (GuessRandomNumberAdd == Number1 + Number2) {
    System.out.println("Correct!");
    correct++;
  } else {
    System.out.println("Wrong!");
    lives--;
  }
    System.out.print(Number1 + " * " + Number2 + " = ");    
    int GuessRandomNumberMul = keyboard.nextInt();

  if (GuessRandomNumberMul == Number1 * Number2) {
      System.out.println("Correct!");
      correct++;
  }else{
        System.out.println("Wrong!");
        lives--;
  } //Forgot this bracket
} //Closes the for loop



System.out.println("You got " + correct + " correct answers.");

看看下面的例子是否如你所願。 在這里,我將循環計數設為 5。因此將有 5 個“加法”問題和 5 個“乘法”問題。

我也在打印問題編號。 所以,現在輸出更清晰了。

import java.util.Scanner;

public class Game {

  public static void main(String[] args) {
    Scanner keyboard = new Scanner(System.in);
    int correct = 0;

    for (int i = 0; i < 5; i++) {
      int Number1 = (int) (20 * Math.random()) + 1;
      int Number2 = (int) (20 * Math.random()) + 1;

      System.out.println("Question " + (i*2+1));
      System.out.print(Number1 + " + " + Number2 + " = ");
      int GuessRandomNumberAdd = keyboard.nextInt();

      if (GuessRandomNumberAdd == Number1 + Number2) {
        System.out.println("Correct!");
        correct++;
      }
      else {
        System.out.println("Wrong!");
      }
      System.out.println();

      System.out.println("Question " + (i*2+2));
      System.out.print(Number1 + " * " + Number2 + " = ");
      int GuessRandomNumberMul = keyboard.nextInt();

      if (GuessRandomNumberMul == Number1 * Number2) {
        System.out.println("Correct!");
        correct++;
      }
      else {
        System.out.println("Wrong!");
      }
      System.out.println();
    }
    System.out.println("You got " + correct + " correct answers.");
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM