java中的交替模式

问题描述 投票:-3回答:1

你好试图弄清楚如何在java中创建以下模式

 xoxox
 oxoxo
 xoxox

我最近在学习,并试图弄清楚几个小时。这是我到目前为止的代码。它主要与公共静态字符串textBoxString(int rows,int cols,char c1,char c2)下的最后一部分有关。

public class TextBoxTester {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        String s = TextBox.textBoxString(3);
        System.out.println(s);

        s = TextBox.textBoxString(4, '+');
        System.out.println(s);

        s = TextBox.textBoxString(3, 4);
        System.out.println(s);

        s = TextBox.textBoxString(3, 5, 'x', 'o');
        System.out.println(s);

    }
}

public class TextBox {

    public static String textBoxString(int side) {
        String s = "";
        for (int i = 0; i < side; i++) {
            for (int j = 0; j < side; j++)
                s += "*";
            s += "\n";
        }
        return s;
    }

    public static String textBoxString(int side, char bChar) {
        String s = "";
        for (int i = 0; i < side; i++) {
            for (char j = 39; j < bChar; j++)
                s += bChar;
            s += "\n";
        }
        return s;
    }

    public static String textBoxString(int rows, int cols) {
        String s = "";
        for (int i = 0; i < rows; i++) {
            for (int j = 0; j < cols; j++)
                s += "*";
            s += "\n";
        }
        return s;
    }

    public static String textBoxString(int rows, int cols, char c1, char c2) {
        char c = c1;
        char d = c2;
        String s = "";
        for (int i = 0; i < rows; i++) {
            for (int j = 0; j < cols; j++)
                s += c;
                    if (c == c1) {
                        c2++;
                    } else {
                        c1 = c;
                    }
                    s += "\n";
        }
        return s;
    }
}
java alternating
1个回答
1
投票

我在下面更新了这个功能:

public static String textBoxString(int rows, int cols, char c1, char c2) {
    String s = "";
    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < cols; j++) {
                        // this is used for alternating columns
            if (j % 2 == 0) { // if j is even then append c1
                s += c1;
            } else {
                s += c2; // // if j is odd then append c2
            }
        }

                // this is used for alternating rows
        char tmp = c1;
        if (i % 2 == 0) { // switch the values of c1 and c2
                c1 = c2;
            c2 = tmp;
        } else { // switch the values of c1 and c2
            tmp = c2;
            c2 = c1;
            c1 = tmp;
        }

        s += "\n";
    }
    return s;
}
© www.soinside.com 2019 - 2024. All rights reserved.