从主方法到子程序

时间:2013-08-18 11:51:47

标签: java subroutine

我编写了我的代码并且它完全有效,但我没有编写自己的方法。赋值的重点是练习使用子程序,这就是我必须使用的。我读到了制作自己的方法 - 很多。但是我仍然无法解开它。

这是我的一段代码。你可以通过解释我如何使用它并调用它来帮助我吗?

public static void main(String[] args) {
    //Display welcome message 
    System.out.println("Welcome to the Math Functions event!");
    Scanner keyIn = new Scanner(System.in);
    Scanner userInput;
    System.out.print("Press the ENTER key to toss the dice.");
    keyIn.nextLine();

    //roll dice
    Random rand = new Random();
    int tries = 0;

    int sum = 0;
    while (sum != 7 && sum != 11) {
    // roll the dice once
    int roll1 = rand.nextInt(6) + 1;
    int roll2 = rand.nextInt(6) + 1;
    sum = roll1 + roll2;
    System.out.println(roll1 + " + " + roll2 + " = " + sum);
    tries++;
    }
}

任何帮助将不胜感激!谢谢!

1 个答案:

答案 0 :(得分:1)

以下是一个给你随机掷骰子的方法示例:

public static int rollDice()
{
    Random rand = new Random();
    int roll = rand.nextInt(6) + 1;
    return roll;
}

您可以像这样调用函数:

int roll = rollDice();

因此可以将它集成到您​​的程序中,例如:

public static void main(String[] args) {
    //Display welcome message 
    System.out.println("Welcome to the Math Functions event!");
    Scanner keyIn = new Scanner(System.in);
    Scanner userInput;
    System.out.print("Press the ENTER key to toss the dice.");
    keyIn.nextLine();


    int tries = 0;

    int sum = 0;
    while (sum != 7 && sum != 11) {
    // Here is where you call your newly created method
    int roll1 = rollDice();
    int roll2 = rollDice();
    sum = roll1 + roll2;
    System.out.println(roll1 + " + " + roll2 + " = " + sum);
    tries++;
    }
}

这个想法是你想把一个复杂的任务分成许多较小的任务。这样就可以更容易地进行调试。以上只是一个例子,但是如果你正在执行一个你认识到重复的操作,那么一个函数永远不会受到伤害。

尝试以下列方式考虑您的功能:

<强> 1。我的功能是做什么的?

<强> 2。它应该为我提供哪些数据?

第3。我的功能为我提供这些数据的最低要求是什么?

对于对注释中提到的字符串的字符进行计数的函数:

  1. 您的函数会计算字符串中的字符数。
  2. 它为您提供的数据只是一个数字。
  3. 你需要得到这个号码就是一个字符串。
  4. 鉴于此信息,我们可以提出以下功能协议:

    public static int countCharacters(String myString)
    {
        int count = myString.length();
        return count;
    }
    

    返回类型和值是int,因为它是您需要提供的,myString是该函数需要工作的唯一数据。以这种方式思考会使代码更易于维护,并且您可以将复杂的任务分解为几个非常简单的步骤。