我试图在java中使用for循环生成以下模式。
"+-*+-*+-*+" and "+++***------***+++"
我不知道如何才能产生最后的" +"在模式的最后。
我目前的代码如下:
int j;
for(j=0;j<3;++j) {
System.out.print("+-*");
}
for(j=0;j<2;++j) {
System.out.print("+++***---");
}
如何打印第二个图案的前半部分并反转它以产生上面的图案?
答案 0 :(得分:0)
在第一个字符串&#34; + - *&#34;中的一个小观察只有这3个字符或字符串重复,你可以简单地使用模数并解决它
您可以这样做:
String pattern1 = "+-*";
for(int i=0; i < lengthOfPattern; i++){
System.out.print(pattern1.charAt(i%3));
}
对于第二种模式,你可以看到,首先你是打印&#34; +++ *** ---&#34;然后交替反转它。而Iguess这将继续下去。再次
String pattern2 = "+++***---";
for(int i = 0; i < numberOfTimes; i++){
if(i%2==1){
System.out.print(pattern2);
}else{
System.out.print(new StringBuilder(pattern2).reverse().toString());
}
}
答案 1 :(得分:-2)
for (int i = 0; i < 3; ++i)
System.out.print("+-*");
System.out.print('+');
String s = "+*-*+";
for (int i = 0; s[i]; ++i)
for (int j = 0; j < 3; ++j)
System.out.print(s[i]);
也许这样的事情
(我没有测试这段代码)