-5

我想在i + j等于指定数字时打印一个星号,但我的代码从不打印一个:

public class A{
    public static void main(String[]args){
        for (int i = 5; i < 10; i++) { 
            for (int j = 5; j < 10; j++) { 
                if ( i == j || ( i+j == 7 )) { 
                    System.out.printf("*"); 
                } else { 
                    System.out.printf(""); 
                } 
            } 
            System.out.println(); 
        } 
    }
}        
4

2 回答 2

0

绘制此类模式的一个好方法是将它们分成区域/区域,然后使用各种循环和条件语句来构造这些区域。

例如,绘制 X 图案的一种方法是将 X 图案从垂直方向的一半分成两部分。现在,您可以轻松地将它们绘制到零件上。

你可以从中得到帮助。

public class xpattern {
    public static void main(String[] args) {
        int totalLines = 11;
        for (int i = 0; i < totalLines; i++) { 
            for(int j = 0; j < totalLines; j++) {
                if(i == j || j == (totalLines - (i + 1))) {
                    System.out.print("*");
                } else {
                    System.out.print(" ");
                }               
            }                       
            System.out.println();
        } 
    }
}
于 2013-11-03T13:35:15.783 回答
0

好吧,当你做空白的时候,它应该是一个“”,而不是一个“”,否则就不会有空格。如果 I + J = 14,而不是 7,它应该是,因为它永远不会等于 7。

于 2013-11-03T13:15:49.743 回答