你好试图弄清楚如何在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;
}
}
我在下面更新了这个功能:
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;
}