这是我的代码
public static void main (String[] args)
{
Scanner keyboard = new Scanner (System.in);
int tri, a;
int b;
System.out.println("Enter the size you want your triangle to be:");
tri = keyboard.nextInt();
for (a = 1; a <= tri; a++)
{
for (b = 1; b <= a; b++)
{
System.out.print("*");
}
}
}
当我跑步并进入前。 3我想要代码说
我知道我可能会错过一些循环,因为我只处于代码的开始阶段。我正在跑步,看看是否一切都按照我想要的方式进行,但事实并非如此。当我输入3时,我将所有内容都放在一行:
******
将非常感谢帮助解释 它应该适用于任何不仅仅是3的数字
答案 0 :(得分:2)
您需要对代码进行两处更改。首先,您需要在外循环的每次迭代中结束该行。其次,你需要做三角形的底部。以下是执行此操作的代码:
public static void main (String[] args)
{
Scanner keyboard = new Scanner (System.in);
int tri, a;
int b;
System.out.println("Enter the size you want your triangle to be:");
tri = keyboard.nextInt();
for (a = 1; a <= tri; a++)
{
for (b = 1; b <= a; b++)
{
System.out.print("*");
}
// this next call ends the current line
System.out.println();
}
// now for the bottom of the triangle:
for (a = tri - 1; a >= 1; a--) {
for (b = 1; b <= a; b++)
{
System.out.print("*");
}
System.out.println();
}
}
答案 1 :(得分:1)
或者只是一个循环:
int x = 3; // input tri
var y = x*2;
for (int i = 0; i < y; ++i) {
for (int j = 0; j < (i < x ? i : y-i); ++j) {
System.out.print("*");
}
System.out.println();
}
答案 2 :(得分:0)
每次访问外部循环时都需要这样做:
system.out.println();
这允许*在不同的行上,这个代码只做三角形的上半部分。为了做下半部分,你必须从三。倒计时。
答案 3 :(得分:0)
System.out.print
打印当前输出缓冲区中的所有内容,即控制台。您必须使用System.out.println
(请注意ln
后缀)来打印内容和断行。