gpt4 book ai didi

java - 循环程序直到0(退出)(java)

转载 作者:行者123 更新时间:2023-12-01 22:43:34 24 4
gpt4 key购买 nike

我有这个java代码,基本上只是打印X高度的圣诞树。但是,程序询问数字,然后打印树,然后结束。我希望它循环直到我输入0,这样就会结束程序,而且我想让它仅在输入的数字是从 1-40(不超过 40)时才打印。我刚开始接触 java 世界,我不知道该怎么做。现在这是我的代码:

public class xtree {

public static void main(String[] args)
{
Scanner scan = new Scanner(in);
out.print("please enter a number: ");
int temp = scan.nextInt();
int x = (temp-1)*2 +1;
int y = x/2;
int z = 1;
for(int i=0; i<temp-1; i++)
{
for(int j=0; j<=y; j++)
{
out.print(" ");
}
for(int k = 0; k<z; k++)
{
out.print("*");
}
out.println();
y--;
z+=2;
}
for(int i =0; i<=x/2; i++)
{
out.print(" ");
}
out.println("*");
}
}

谢谢,我是java初学者,所以请宽容;)

最佳答案

好吧,我会把这个方法分成两个:

  • 一个 printChristmasTree 方法,接受高度作为参数
  • 您的 main 方法,仅处理获取用户输入并调用 printChristmasTree 或退出

当前的大部分 main 方法将进入 printChristmasTree,并且 main 将是一个循环。像这样的东西:

public static void main(String[] args) {
Scanner scan = new Scanner(in);
while (true) {
System.out.print("Please enter a number (0-40): ");
int height = scan.nextInt();
if (height == 0) {
// Exit the program
return;
} else if (height >= 1 && height <= 40) {
printChristmasTree(height);
} else {
System.out.println("Invalid input.");
}
}
}

您可以使用其他方法来代替从 while (true) 循环返回,但这对我来说看起来最简单。

在我看来,将“获取输入”与“打印圣诞树”方面分开会产生比将它们组合起来更具可读性的代码 - 并且在编写不同的程序进行打印等方面更加灵活所有有效的圣诞树。

关于java - 循环程序直到0(退出)(java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25704061/

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