需要简单Java模式编码方面的帮助吗

需要简单Java模式编码方面的帮助吗,java,for-loop,Java,For Loop,我将在for循环上创建以下模式: XXXXXXXXXX XXXXXXXXXY XXXXXXXXYY XXXXXXXYYY ... ……等等 public class ex{ public static void main(String[] args){ for(int i=0;i<=10;i++){ System.out.println(); for(int j=0;j<

我将在for循环上创建以下模式:

XXXXXXXXXX
XXXXXXXXXY
XXXXXXXXYY
XXXXXXXYYY
...
……等等

public class ex{
    public static void main(String[] args){
            for(int i=0;i<=10;i++){
                    System.out.println();
                    for(int j=0;j<=10;j++){
                            if(i==0){
                                    System.out.print("X");
                            }

                            if(i==1){
                                    System.out.print("X");
                                    if(j==9){
                                            System.out.print("Y");
                                    }
                            }
                    }
            }
    }
公共类ex{
公共静态void main(字符串[]args){

对于(int i=0;i提示:每一行的长度相同,下面每一行上只少一个X,多一个Y

public class XY
{
        public static void main(String[] args)
        {
                System.out.print(xy(10,10));
        }
        public static String xy(int rows,int origRows)
        {
                return X(rows,origRows-rows)+"\n"+((rows>0)?xy(rows-1,origRows):"");
        }
        public static String X(int x,int y)
        {
                return (x>0?"X":"")+((x>0||y>0)?X(x-1,y-1):"")+(y>0?"Y":"");
        }
}

teehee.

尝试将两个循环嵌套在一个循环中。在外循环的每次迭代中,计数到
i
,然后继续计数到
10

// 10 lines
for(int i = 10; i >= 0; i--){

    int j = 0; 

    // Print 'X's (10 - i of them)
    for(; j < i; j++)
        System.out.print("X");

    // Print 'Y's (i of them)
    for(; j < 10; j++)
        System.out.print("Y");

    System.out.println();
}
//10行
对于(int i=10;i>=0;i--){
int j=0;
//打印X(其中10-i个)
对于(;j
您具体问题的答案是:

for(int i=0;i<=10;i++)

for(int i=0;i可能不是最有效的版本,但它是这样的:

public static void main(String[] args) {
    for (int i = 0; i <= 10; i++) {
        System.out.println(repeat("X", 10 - i) + repeat("Y", i));
    }
}

private static String repeat(String string, int times) {
    return new String(new char[times]).replaceAll("\0", string);
}
publicstaticvoidmain(字符串[]args){

对于(int i=0;i矩阵的/对角线的条件是i+j=n,因此左上部分是i+jn

public static void main(String... arg) {
    int n = 10;
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
            if ( i + j < n) {
                System.out.print("X");
            } else {
                System.out.print("Y");
            }
        }
        System.out.println();
    }
}
publicstaticvoidmain(字符串…arg){
int n=10;
对于(int i=0;i

如果要在\对角线上分开,对角线的条件是i=j,对于上部i>j和下部i这里有一个递归解决方案:

 public class ex {
    public static final String X = "X";
    public static final String Y = "Y";

    public static void main(String[] args){
      printall(10, 0);
    }

    private static void printall(int length, int saturation){
      if (saturation > length) {
        return;
      } else {
        System.out.print(printRow(length, saturation, 0);
        printall(length, saturation + 1);
      }
    }

    private static String printrow(int length, int saturation, int position) {
      if (position > length) {
        return "";
      } else {
        return getChar(length, saturation, position) + printrow(length, saturation, position + 1);
      }
    }

    private static String getChar(int length, int saturation, int position) {
      if (length-saturation < position) {
        return Y;
      } else {
        return X;
      }
    }
  }
公共类ex{
公共静态最终字符串X=“X”;
公共静态最终字符串Y=“Y”;
公共静态void main(字符串[]args){
printall(10,0);
}
私有静态void printall(整数长度、整数饱和度){
如果(饱和度>长度){
返回;
}否则{
系统输出打印(打印行(长度,饱和度,0);
printall(长度、饱和度+1);
}
}
私有静态字符串printrow(int-length、int-saturation、int-position){
如果(位置>长度){
返回“”;
}否则{
返回getChar(长度、饱和度、位置)+printrow(长度、饱和度、位置+1);
}
}
私有静态字符串getChar(int-length、int-saturation、int-position){
if(长度饱和<位置){
返回Y;
}否则{
返回X;
}
}
}

这是家庭作业吗?它将描述响应的特征。这是我为自己阅读的一本书中的一个问题,刚刚卡住XD提示:在外部循环中创建两个嵌套循环,然后彼此相邻。第一个打印…第二个打印…-填补空白。谢谢。我刚刚尝试了这个方法,效果很好。在我阅读co时,注释帮助了我大声说出来。谢谢!@Jay你很受欢迎!如果你不懂其中的任何部分,请告诉我。你还了解了常数吗。你可能会从将
10
放入常数中受益,因为它在两个地方使用。通常在编程时你不想重复自己,因为如果你需要进行更改,你必须编辑m程序的多个部分。在一个巨大的软件中,它会变得疯狂。如果你为10声明一个常量,并在两个位置使用它,那么你只需要进行一次编辑就可以更改输出的长度。