我想要打印的三角形看起来像这样:
123456
23456
3456
456
56
6
到目前为止,我一直在打印:
123456
12345
1234
123
12
1
这里是我提出的代码:
System.out.println();
for (int i=1; i<=6; i++)
{
for (int j=7; j>i; j--)
{
System.out.print(j - 1);
}
System.out.println("");
}
任何人都可以帮我弄清楚我做错了吗?
答案 0 :(得分:2)
你非常接近。请注意,内循环的起始索引每次都需要更改。怎么样:
for (int i=1; i<=6; i++) {
for (int j=i; j<=6; j++) {
System.out.print(j);
}
System.out.println();
}
答案 1 :(得分:0)
你在内部for循环上的方向错误。
private static MyClient client = ServiceGenerator.generateService(MyClient.class);
private static ConnectableObservable<List<DataModel>> x;
public static void initObservable() {
Observable<List<DataModel>> o = client.dataForUser("user");
x = o.subscribeOn(Schedulers.io()).publish();
x.connect();
}
public static ConnectableObservable<List<DataModel>> getObservable() {
return x.replay(1);
}
通过在内部for循环中将j设置为等于i,该行将自行向前移动一个。
输出:
ConnectableObservable<List<DataModel>> x = MyClientNetworkUtil.getObservable();
x.connect();
x.subscribe(response -> Log.d("Response", response.get(1).getName()), e -> Log.e("Response", e.toString()));
答案 2 :(得分:-1)
public class MyClass {
public static void main(String args[]) {
for(int i=1;i<7;i++){
for(int j=i;j<7;j++)
System.out.print(j);
System.out.println("");
}
}
}
编辑:让我们考虑每个循环迭代的作用。 外循环看到在前往下一行之前打印所有值。但是,如何打印所需的值?
这是由内循环完成的。它开始将值从当前迭代中的i值打印到值n(这里n = 6)。因此,在第一次迭代中,值将是123456.在第二次(&amp;在下一行)中,值从2开始打印,即23456,依此类推。这就是你所需的模式。