gpt4 book ai didi

java - 从主方法到子程序

转载 作者:行者123 更新时间:2023-12-01 14:13:38 26 4
gpt4 key购买 nike

我编写了代码并且它完全可以工作,但是我没有编写自己的方法。作业的重点是练习使用子例程,这就是我必须使用的。我读到了很多关于制作自己的方法的内容。但我还是无法完全理解它。

这是我的一段代码。您能帮我解释一下如何用它创建我自己的方法并调用它吗?

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++;
}
}

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

最佳答案

以下是随机掷骰子的方法示例:

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. 获取此数字所需的只是一个字符串。

根据这些信息,我们可以得出以下函数协议(protocol):

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

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

关于java - 从主方法到子程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18298757/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com