用java绘制三角形
我试图用java绘制此表单: 对于n=4:用java绘制三角形,java,loops,geometry,Java,Loops,Geometry,我试图用java绘制此表单: 对于n=4: ******* *** *** ** ** * * 但我能得到的只是: 对于n=4: ******* *** *** ** ** * * **** **** *** *** ** ** * * 以下是此操作的代码: public class test1 { public
*******
*** ***
** **
* *
但我能得到的只是:
对于n=4:
*******
*** ***
** **
* *
**** ****
*** ***
** **
* *
以下是此操作的代码:
public class test1 {
public static void main(String[] args) {
int n;
System.out.print("Entrer n:");
Scanner x = new Scanner(System.in);
n=x.nextInt();
for(int i=0; i<n; i++) {
System.out.print("*");
for(int j=0; j<n-1-i; j++) {
System.out.print("*");
}
for(int k=0; k<n/2; k++) {
System.out.print(" ");
}
for(int j=0; j<n-i; j++) {
System.out.print("*");
}
System.out.println("");
}
}
}
公共类test1{
公共静态void main(字符串[]args){
int n;
系统输出打印(“输入n:”);
扫描器x=新扫描器(System.in);
n=x.nextInt();
对于(int i=0;i如果我正确理解了规范,则应这样做:
int n = 4;
for(int i = 0; i < n ; i++)
{
for(int j = 0 ; j < n-i ; j++)
{
System.out.print("*");
}
for(int j = 0 ; j < i*2-1 ; j++)
{
System.out.print(" ");
}
for(int j = i==0?1:0 ; j < n-i ; j++)
{
System.out.print("*");
}
System.out.print("\n");
}
n=4:
n=6:
循环中的问题就在这一部分
for(int k=0; k<n/2; k++) {
System.out.print(" ");
}
用于(int k=0;k你能提供一般规格吗?n到底是什么?n=1、2、3、5或6的期望值是什么?n是三角形中的直线数你试过了吗?第2行需要多少空格?不是2。@Cruncher代码现在是正确的,它是乘法而不是除法:DThanks,这正是我想要的这是一个三元语句。I==0?1:0
表示“如果I
为0,那么这个表达式为1,否则为0”。这是因为在第一行,我们有2(n-I)-1
*,而其他行有2(n-i)
*。这是一种跳过第一行中星号的方法。您也可以将其放在第一个循环中。
***********
***** *****
**** ****
*** ***
** **
* *
for(int k=0; k<n/2; k++) {
System.out.print(" ");
}
for (int k = 0; k < i*2; k++) { // solved
System.out.print(" ");
}