如何创建重复函数的方法?

时间:2016-04-18 21:49:18

标签: java methods repeat

大家好,我是网站新手,这是我在Java编程课程中的第一个问题。  我必须创建一个程序,询问一个数学问题,并告诉用户他是对还是错,但要求还说明我需要创建一个方法,如果第一个问题是正确的,则生成一个新问题,所以当计算机问什么是5次5和用户输入25该方法应生成两个新的随机数并询问用户结果。

到目前为止,这是我的代码。我不希望答案,因为这是一个学校作业,但如果有人能给出指示,我将非常感激,因为这是我的第一个java大学课程。

import java.security.SecureRandom; //program uses class SecureRandom
import java.util.Scanner; //program uses class Scanner

public class CAI 
{
public static void main(String[] args)
{   

    System.out.println("Alex - Assignment 4\n");

    //create Scanner for input from command window
    Scanner input = new Scanner(System.in);

    //randomNumbers object will produce secure random numbers
    SecureRandom randomNumbers = new SecureRandom();

    //generates two random numbers from 1 to 9 excluding 0
    int random1 = 1+ randomNumbers.nextInt(9);
    int random2 = 1+ randomNumbers.nextInt(9);

    int answer; // declares answer from user

    //calculates real result of first integer times second integer
    int result = (random1 * random2);

    //display generated integers
    System.out.printf("What is %d times %d?\n",random1, random2);

    do 
    {
    answer = input.nextInt(); //keeps taking answer from user if wrong
     if(answer == result) //if correct answer then print very good!
      System.out.println("Very Good!");
     else // if wrong answer then print no please try again
      System.out.println("No. Please try again");
    }
    while (answer != result);
 }

3 个答案:

答案 0 :(得分:1)

我认为你有循环语句混合的基本方式。 do语句将执行一次代码块,并且不会自行循环。 while循环将重复,直到您告诉它停止。所以没有告诉你如何构建你的作业;)你应该看看这两件事。但是你的代码确实可以编译,并确实可以完成你想要它做的事情。所以这意味着您遇到的问题在于代码的逻辑方面。这意味着计算机在执行代码部分时根据代码结构无法理解。

所以我的建议是首先尝试用简单的英语(伪代码)编写它,这样你就可以弄清楚你的程序逻辑应该如何运行,然后将其转换为代码。有时只是说“我希望x发生在y。但我只希望这发生在事件z发生的时候。”可以帮助您理解逻辑如何工作。

祝你好运

答案 1 :(得分:0)

您可以在生成随机数之前添加while循环,这些随机数将重复到.ToUniversalTime()。沿着这些方向的东西可以正常工作

答案 2 :(得分:0)

您应该在底部break;循环中添加else语句,并将public static void声明中的所有内容放入"无限" for循环。当用户输入错误答案时,程序将转到else循环并中断。否则,它将继续在'无限"中继续重复。 for循环。这是一个示例代码,显示了您可以执行的操作。

import java.security.SecureRandom; //program uses class SecureRandom
import java.util.Scanner; //program uses class Scanner

public class CAI 
{
public static void main(String[] args)
{   

boolean loopTest = false;

while (loopTest= true)
{

System.out.println("Alex - Assignment 4\n");

//create Scanner for input from command window
Scanner input = new Scanner(System.in);

//randomNumbers object will produce secure random numbers
SecureRandom randomNumbers = new SecureRandom();

//generates two random numbers from 1 to 9 excluding 0
int random1 = 1+ randomNumbers.nextInt(9);
int random2 = 1+ randomNumbers.nextInt(9);

int answer; // declares answer from the user

//calculates real result of first integer times second integer
int result = (random1 * random2);

//display generated integers
System.out.printf("What is %d times %d?\n",random1, random2);

do 
{
answer = input.nextInt(); //keeps taking answer from user if wrong
 if(answer == result) //if correct answer then print very good!
  System.out.println("Very Good!");
 else // if wrong answer then print no please try again
  System.out.println("No. Please try again");
  break;
}
while (answer != result);
}

}
}

*请注意,您的计划中未包含最后一个}