gpt4 book ai didi

Java 星形模式程序未发送预期输出

转载 作者:行者123 更新时间:2023-12-01 11:45:02 24 4
gpt4 key购买 nike

正在开发一个java程序,该程序应将偶数作为输入并打印出带空格的星号符号的星形图案。我让它在输入为 6 的情况下工作,但没有更高,并且不知道为什么。

我的代码:

package starpattern;

import java.util.Scanner;

public class StarPattern {

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

System.out.print("How many columns? ");
cols = keyboard.nextInt();

if (cols%2 == 0)
{
int col2 = cols;
int spaces = (cols/2 - 1);
int ASTS = 2;
int test = (col2/2);
while (cols > (col2/2))
{
for (int x = spaces; x > 0; x--)
{
System.out.print(" ");
}
for (int y = ASTS; y > 0; y--)
{
System.out.print("*");
}
for (int z = spaces; z > 0; z --)
{
System.out.print(" ");
}
System.out.println();
cols--;
ASTS +=2;
spaces--;
}
spaces = (cols/2 - 1);
while (cols > 0)
{

if (test != (col2/2))
{
for (int x = spaces; x < (cols/2); x++)
{
System.out.print(" ");
}
spaces -=2;

}



for (int a = ASTS-2; a > 0; a--)
{
System.out.print("*");

}
test++;
System.out.println();
cols--;
ASTS -= 2;


}
}
}
}

每一步(10、12...)都有某种形式的相同问题。有没有办法可以在下半部分修复此问题(从“while cols>0”开始),以便它提供正确的空格输出?

最佳答案

enter image description here

------智能编码------好编码员

**Very Simplest Way To create Paramid use only three loops**  

D:\Java>java ParamidExample输入一个数字5

      *
* * *
* * * * *
* * * * * * *
<小时/>
* * * * * * *
* * * * *
* * *
*

import java.util.*;
public class ParamidExample
{
public static void main(String args[])
{
System.out.println("Enter a number");
Scanner sc=new Scanner(System.in);
int no=sc.nextInt();

int count=1;
for(int i=1;i<=2*no-1;i++)
{
for(int j=count;j<=no;j++)
{
System.out.print(" ");
}
for(int k=1;k<=count*2-1;k++)
{
System.out.print("* ");
}
if(i<no)
count++;
else
count--;
System.out.println("");
}
}
}

创建 Paramid 的最简单方法仅使用三个循环

关于Java 星形模式程序未发送预期输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29217826/

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