假设我们希望在输出中看到该形状:
1
22
333
4444
666666
7777777
88888888
代码:
public class Main {
public static void main(String[] args) {
for((int i=1;i<=4;) && (int i=6; i<=8;) i++){
for(int j=1; j<=i; j++){
System.out.println(i);
System.out.println();
}
}
}
}
第一个问题是我不知道如何删除55555行到我的程序输出
有人可以帮助我使用继续进行正确的更正;
第二个问题是代替编写continue语句,我们可以这样写:
public class Main {
public static void main(String[] args) {
**for((int i=1;i<=4;) && (int i=6; i<=8;) i++){**
for(int j=1; j<=i; j++){
System.out.println(i);
System.out.println();
}
}
}
}
我被困住了:(
答案 0 :(得分:0)
有一种更简单的方法可以做你想做的事。
public static void main(String[] args) {
for(int i = 1; i < 9; i++){
if(i != 5) {
for(int j=1; j<=i; j++){
System.out.println(i);
System.out.println();
}
}
}
}
或者,只需编写两个for循环,第一个从1到4运行,第二个从6到8运行。
public static void main(String[] args) {
for(int i = 1; i < 5; i++){
for(int j=1; j<=i; j++){
System.out.println(i);
System.out.println();
}
}
for(int i = 6; i < 9; i++){
for(int j=1; j<=i; j++){
System.out.println(i);
System.out.println();
}
}
}
答案 1 :(得分:0)
简短回答,不 - 您不能使用布尔&&
运算符嵌套循环。但是,您可以使用lambdas来实现此
IntStream.range(1, 8) // 1, 2, 3, 4, 5, 6, 7, 8
.filter(i -> i != 5) // remove 5
.forEachOrdered(i -> System.out.println(IntStream.range(0, i)
.mapToObj(j -> String.valueOf(i)) // repeat i i times
.collect(Collectors.joining())));