如何在java中交替使用两个字符
我正在做这段代码的一部分,我必须打印一个正方形的轮廓。用户输入长度(行)和宽度(列),以及打印时应交替的两个字符值。现在我做了交换技巧,但它没有正常工作。我该如何改进它
这是密码 我的方法是
String l = TextBox.textBoxString(5,5,'x','o');
System.out.print(l);
我的方法是
public static String textBoxString(int rows, int cols, char c1, char c2) {
String result= "";
char temp2 = 0;
for (int i = 0; i <= rows -1; i++){
for (int j = 0; j <= cols-1; j++){
if(i == 0 || j == 0 || i == rows-1 || j == cols-1){
temp2 = c2;
c2 = c1;
c1 = temp2;
result += c2 +"";
}
else{
result += " ";
}
}
result += "\n";
}
return result;
}
我的方法是打印这个
xoxox
o x
o x
o x
oxoxo
但我不想让o和我们看到的一样,如果第一个是o,那么最后一个应该是x。 像这样
xoxox
o x
x o
o x
oxoxo
我该怎么做呢?我试着在每个for循环中加入临时交换,但它仍然给了我错误的答案。有什么建议吗
而且行和列也会根据用户的输入而改变,所以可以是5,5,并且字符的正午应该是重复的。一位同事帮助我改进了代码
# 1 楼答案
仅在附加非空白时交换。但请注意,在5x5情况下,当您位于第一列时,在第二行和最后一行之间不会切换字符
我还建议使用
StringBuilder
而不是String
的附加,以避免创建大量字符串: