如何在java中打印一个“X”,从用户获取高度,从用户获取字符
我需要创建一个方法,该方法采用整数高度和字符参数c,并使用c中的特殊字符打印出一个高度为字符高的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;
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-Ipublic 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<身高;我++