如何在java中打印一个“X”,从用户获取高度,从用户获取字符

如何在java中打印一个“X”,从用户获取高度,从用户获取字符,java,for-loop,methods,Java,For Loop,Methods,我需要创建一个方法,该方法采用整数高度和字符参数c,并使用c中的特殊字符打印出一个高度为字符高的X。我的教授说它可以用两个循环来完成,但我认为它需要更多 public static void printX(int height, char c) { int i,j; int count=0; for(i=0; i<height; i++) { count++; for(j=0; j<count;

我需要创建一个方法,该方法采用整数高度和字符参数c,并使用c中的特殊字符打印出一个高度为字符高的X。我的教授说它可以用两个循环来完成,但我认为它需要更多

 public static void printX(int height, char c)
 {
     int i,j;
     int count=0; 

     for(i=0; i<height; i++)
     {
          count++; 
          for(j=0; j<count; j++)
          {
              System.out.print(" "); 
          }
          System.out.print(c);   
          System.out.println(); 
     }
 }

我开始写一个只打印出一条对角线的代码,并试图看看我是否能从中找到解决方法,但我无法找到答案。有没有办法用两个for循环来实现这一点

对于高度=7,您需要:

x     x
 x   x
  x x
   x
  x x
 x   x
x     x
第一行是0个空格,1个字符,5个空格,1个字符 第二行是1个空格,1个字符,3个空格,1个字符 第三行是2个空格,1个字符,1个空格,1个字符 看到模式了吗

中间线很特别


余数遵循与顶部相同的模式,但反之亦然。

< P>这里,我们考虑高度和J= I和J = HITET-I

public class printCross{

public static void main (String[] arg){

    Scanner keyboard =new Scanner (System.in);
    System.out.println(" Please type a number grater than 2 :");
    int num=keyboard.nextInt();
    drawCross(num);

}

private static void drawCross(int num) {

int startCur = 0; 
int endCur = num-1; 
for (int i = 0; i < num; i++) 
{ 
for (int j = 0; j < num; j++) 
{ 
if (startCur == endCur && j == i) 
System.out.print('*'); 
else if (startCur == j || endCur == j) 
System.out.print('*'); 
else 
System.out.print(' '); 
} 
startCur++; 
endCur--; 
System.out.println(); 
} 
}
提示:有两行:y=x和y=height-x。如果你的i和j值解了其中一个方程,就打印c,否则就打印一个空格。如果你在循环外没有使用i或j,就在for语句中声明它们:forint i=0;i<身高;我++