Java 带星号的爪哇半钻石&x27;s(用于循环)
嘿,我在java中绘制半菱形时遇到了嵌套for循环的问题 我需要获得一个用户输入,并用用户在这里指定的行数制作一个半菱形,这是我的代码Java 带星号的爪哇半钻石&x27;s(用于循环),java,asterisk,Java,Asterisk,嘿,我在java中绘制半菱形时遇到了嵌套for循环的问题 我需要获得一个用户输入,并用用户在这里指定的行数制作一个半菱形,这是我的代码 public static void diamond(int rows) { int m, n; for (m = 1; m <= rows; m += 2) { for (n = 1; n <= m; n++) { System.out.print("*");
public static void diamond(int rows) {
int m, n;
for (m = 1; m <= rows; m += 2)
{
for (n = 1; n <= m; n++)
{
System.out.print("*");
}
System.out.println();
}
for (int i = rows; i > 0; i -= 2) {
for (int j = 0; j < i; j++) {
System.out.print("*");
}
System.out.println("");
}
}
publicstaticvoiddiamond(int行){
int m,n;
对于(m=1;m这是一个逻辑错误。请检查您的代码:
假设他们输入5作为行计数
然后,第一个for循环将循环执行,从m=1、
开始,然后是3,然后是5。嵌套的for循环也很好——它只是画了一个“*”等于m值的倍数
然而,输入是5,对吗?第二个for循环集i=rows,
因此i
将开始等于5。您已经在第一个for循环中绘制了最长的一行,其中有5个星号。现在,由于您正在设置i=5,
您正在绘制另一行,其中有5个星号。您想要作为第二个f或者,是这样的:
for(int i=rows-2;i>0;i-=2){
…
这样,第二个for循环就不会像第一个for循环那样再次绘制最长的行了。这应该会有很大帮助。这是你能找到的最佳答案/示例……看看它。它具备了制作半菱形指向下方所需的一切
for (int line = n - 1; line >= 1; line--)
{
for (int spaces = n - line; spaces >= 0; spaces--)
System.out.print(" ");
for(int i = 1; i < line + line; i++)
System.out.print("*");
System.out.println();
}
keyboard.close();
用于(int line=n-1;line>=1;line--)
{
对于(int spaces=n-line;空格>=0;空格--)
系统输出打印(“”);
对于(int i=1;i
}
}这可能会对您有所帮助
for(int i = 0;i<5;i++) {
for(int j= 0;j<i;j++) {
System.out.print("*");
}
System.out.println("");
}
for(int i = 5;i>0;i--) {
for(int j=0;j<i;j++) {
System.out.print("*");
}
System.out.println("");
}
for(inti=0;i这可能会有所帮助
import java.util.Scanner;
public class HalfDiamond
{
public static void main(String[] args)
{
int n;
Scanner obj=new Scanner(System.in);
System.out.print("Enter the number of Rows:");
n=obj.nextInt();
for(int i=1;i<=n;i=i+2)
{
for(int j=1;j<=i;j++)
{
if(i%2==1)
System.out.print("*");
}
System.out.println();
}
for(int i=n-2;i>=1;i=i-2)
{
for(int j=1;j<=i;j++)
{
if(i%2==1)
System.out.print("*");
}
System.out.println();
}
}
}
import java.util.Scanner;
公共级半钻石
{
公共静态void main(字符串[]args)
{
int n;
扫描器obj=新扫描器(System.in);
System.out.print(“输入行数:”);
n=obj.nextInt();
因为(int i=1;我太感谢你了,我没有仔细检查它!我很感激!