关于java循环嵌套问题
classshuzisanjiao{publicstaticvoidmain(String[]args){for(intx=1;x<=5;x++){for(inty=1;...
class shuzisanjiao{
public static void main(String[] args) {
for(int x=1;x<=5;x++){
for(int y=1;y<=x;y++){
System.out.print(x);
}
System.out.println();
}
}
}
以上的最终目的是打印
1
12
123
1234
12345
我想知道每一步的原理是什么?谢谢! 展开
public static void main(String[] args) {
for(int x=1;x<=5;x++){
for(int y=1;y<=x;y++){
System.out.print(x);
}
System.out.println();
}
}
}
以上的最终目的是打印
1
12
123
1234
12345
我想知道每一步的原理是什么?谢谢! 展开
9个回答
展开全部
for(int x=1;x<=5;x++){
//第一个for循环第一次循环x=1,x<5等价(1<5);
//第二个for循环第一次循环j=1,j<=x等价(1<=1)(满足打印1)然后j++:此时j=2
//第二个for循环第一次循环j=2,j<=x等价(2<=1)(不满足不打印)然后第二个循环结束了。x++此时x=2
//第一个for循环第2次循环x=2,x<5等价(2<5);
//第二个for循环第1次循环j=1,j<=2等价(1<=2)(满足打印1)然后j++:此时j=2
//第二个for循环第2次循环j=2,j<=x等价(2<=2)(满足打印2)然后j++:此时j=3第二个循环结束了。
//第二个for循环第3次循环j=3,j<=x等价(3<=2)(不满足不打印)然后第二个循环结束了。x++此时x=3
//以此类推,
for(int y=1;y<=x;y++){
System.out.print(x);
}
System.out.println();
}
纯手工,好累
//第一个for循环第一次循环x=1,x<5等价(1<5);
//第二个for循环第一次循环j=1,j<=x等价(1<=1)(满足打印1)然后j++:此时j=2
//第二个for循环第一次循环j=2,j<=x等价(2<=1)(不满足不打印)然后第二个循环结束了。x++此时x=2
//第一个for循环第2次循环x=2,x<5等价(2<5);
//第二个for循环第1次循环j=1,j<=2等价(1<=2)(满足打印1)然后j++:此时j=2
//第二个for循环第2次循环j=2,j<=x等价(2<=2)(满足打印2)然后j++:此时j=3第二个循环结束了。
//第二个for循环第3次循环j=3,j<=x等价(3<=2)(不满足不打印)然后第二个循环结束了。x++此时x=3
//以此类推,
for(int y=1;y<=x;y++){
System.out.print(x);
}
System.out.println();
}
纯手工,好累
展开全部
双重循环,
当X=1, Y=1,y<=x成立,输出1(不换行),
Y=2,y<=x不成立,跳出Y层的循环,运行println(),会换行,
当X=2, Y=1,y<=x成立,输出1(不换行),
Y=2,y<=x成立,输出2(不换行),此时控制台可以看到12
。。。。。
。。。。。
以上就是这样的逻辑。
当X=1, Y=1,y<=x成立,输出1(不换行),
Y=2,y<=x不成立,跳出Y层的循环,运行println(),会换行,
当X=2, Y=1,y<=x成立,输出1(不换行),
Y=2,y<=x成立,输出2(不换行),此时控制台可以看到12
。。。。。
。。。。。
以上就是这样的逻辑。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
class shuzisanjiao{//定义一个java类
public static void main(String[] args) {//静态main函数作为入口
for(int x=1;x<=5;x++){//循环,定义临时整型变量x赋值为1
for(int y=1;y<=x;y++){//循环,定义临时整型变量y赋值为1
System.out.print(x);//打印出x的值
}
System.out.println();//打印回车
}
}
}
外面的for是x从1到5循环5次,即里面的for会执行5次,里面的for执行完会打印回车,
所以每次执行完内部的for就会打印回车
里面的for是y从1到x,即x为多少,内部for里面就会执行多少次
内部的for每执行一次就会打印x值
关键就是内部的for循环次数是根据x的值来确定的,而每次执行到内部的for的时候x都会加1,所以结果就会变成每一层多出一个数字
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
x=1
x<=5 true
y=1
y<=1 true
print(x=1)
y=y+1=2
y<=2 false
x=x+1=2;
x=2
x<=5 true
y=1........
for(initialization; test; increment)
initialization
必选项。一个表达式。该表达式只在执行循环前被执行一次。
test
必选项。一个 Boolean表达式。如果 test 是 true,则 statement 被执行。如果 test 是 false,则循环结束。
increment
可选项。一个表达式。在每次经过循环的最后执行该递增(减)表达式。
x<=5 true
y=1
y<=1 true
print(x=1)
y=y+1=2
y<=2 false
x=x+1=2;
x=2
x<=5 true
y=1........
for(initialization; test; increment)
initialization
必选项。一个表达式。该表达式只在执行循环前被执行一次。
test
必选项。一个 Boolean表达式。如果 test 是 true,则 statement 被执行。如果 test 是 false,则循环结束。
increment
可选项。一个表达式。在每次经过循环的最后执行该递增(减)表达式。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
循环就是依据一定的条件,重复执行循环体;
当x=1时,y<=x,则y=1
x=2时,y取1,2
。。。
当x=1时,y<=x,则y=1
x=2时,y取1,2
。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
貌似你的代码无法打印你想要的哦,
应该讲System.out.print(x);改为System.out.print(y);才可以。
第一个for控制了打印几行,第二个for控制每行打印的内容。
应该讲System.out.print(x);改为System.out.print(y);才可以。
第一个for控制了打印几行,第二个for控制每行打印的内容。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
shuzisanjiao 类{
main方法{for(x从1到5循环){for(当x=1时,y=1){
输出1}换行}}
当x=2时,y=1,2,输出两个2,然后换行依此类推直到x=6跳出循环,你要达到你要的结果需要将第二个循环中的x改成y
main方法{for(x从1到5循环){for(当x=1时,y=1){
输出1}换行}}
当x=2时,y=1,2,输出两个2,然后换行依此类推直到x=6跳出循环,你要达到你要的结果需要将第二个循环中的x改成y
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询