简单的java for循环
publicclassTest{publicstaticvoidmain(String[]args){inti=1,j=2;for(i=1,i<=100,i++){for...
public class Test {
public static void main(String[] args) {
int i =1,j =2;
for(i=1,i<=100,i++) {
for(j=2,j<=i,j++){
if(i%j==0)
break;
if(j>i/2)
System.out.println(i +"是素数");
}
}
}
}
请各位帮小弟分析一下上面的程序,是如何循环的?每循环一次对应的i.j各等于多少?比如当i=1时j该为多少,i=2~~~~~最好能分析到i=9时, 展开
public static void main(String[] args) {
int i =1,j =2;
for(i=1,i<=100,i++) {
for(j=2,j<=i,j++){
if(i%j==0)
break;
if(j>i/2)
System.out.println(i +"是素数");
}
}
}
}
请各位帮小弟分析一下上面的程序,是如何循环的?每循环一次对应的i.j各等于多少?比如当i=1时j该为多少,i=2~~~~~最好能分析到i=9时, 展开
5个回答
展开全部
你这个程序并不能实现他的功能,
正确的程序是:
public class java {
/**
* 打印1---100之间的素数
* @param args
*/
public static void main(String[] args){
int i =1,j =2;
for(i=1;i<=100;i++) {
for(j=2;j<=i;j++){
if(i%j==0){
break;
}
if(j>i/2){
System.out.println(i +"是素数");
break;
}
}
}
}
}
学程序,不知道他如何实现,应该学会调试,看他程序执行步骤,看他局部变量的变化过程,在ECLIPSE里头,你在程序的行号前面双击设置断点,分步调试。
初学者更应该学会调试,如果调试都不会,说明你根本没入门!
正确的程序是:
public class java {
/**
* 打印1---100之间的素数
* @param args
*/
public static void main(String[] args){
int i =1,j =2;
for(i=1;i<=100;i++) {
for(j=2;j<=i;j++){
if(i%j==0){
break;
}
if(j>i/2){
System.out.println(i +"是素数");
break;
}
}
}
}
}
学程序,不知道他如何实现,应该学会调试,看他程序执行步骤,看他局部变量的变化过程,在ECLIPSE里头,你在程序的行号前面双击设置断点,分步调试。
初学者更应该学会调试,如果调试都不会,说明你根本没入门!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
i = 1 --不做因为: j 》2
i=2 -----j=2 第一个if语句有效 跳出第二个for
i=3-------j=2 3%2=1 第一个if不做 j=2》3/2=1 打印3;j=3 3%3 = 0;出循环
i=4-------j=2 4%2=0 出循环;
i=5-------j=2 5%2=1 第一个if不做 2》5/2=2 不打印;j=3 5%3=2;j=3 》5/2=2 打印5;j=4 5%4=1;j=4》5/2=2 打印5;
i=6-------j=2 6%2=0 出循环;
i=7-------j=2、3、4、5、6 7/2 7/3 7/4 7/5 7/6 第一个if都不做,看第二个if 7/2 = 3,所以 j=4、5、6符合第二个 全打印;
i=8-------j=2 8%2=0 出循环;
i=9-------j=2 9%2=1 ; 第二个if j=2《 9/2 = 4 不打印;j=3 9%3=0 出循环
i=2 -----j=2 第一个if语句有效 跳出第二个for
i=3-------j=2 3%2=1 第一个if不做 j=2》3/2=1 打印3;j=3 3%3 = 0;出循环
i=4-------j=2 4%2=0 出循环;
i=5-------j=2 5%2=1 第一个if不做 2》5/2=2 不打印;j=3 5%3=2;j=3 》5/2=2 打印5;j=4 5%4=1;j=4》5/2=2 打印5;
i=6-------j=2 6%2=0 出循环;
i=7-------j=2、3、4、5、6 7/2 7/3 7/4 7/5 7/6 第一个if都不做,看第二个if 7/2 = 3,所以 j=4、5、6符合第二个 全打印;
i=8-------j=2 8%2=0 出循环;
i=9-------j=2 9%2=1 ; 第二个if j=2《 9/2 = 4 不打印;j=3 9%3=0 出循环
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public class Test {
public static void main(String[] args) {
int i = 1, j = 2;
for (i = 1; i <= 100; i++) {
System.out.println("当i=:"+i+"时的状况:");
for (j = 2; j <= i; j++) {
if (i % j == 0)
break;
if (j > i / 2){
System.out.println("在第二个for循环了"+j+"次后"+" 发现 "+i + "是素数,然后i自动加1");
break;}
}
}
}
}
运行后你就明白了
public static void main(String[] args) {
int i = 1, j = 2;
for (i = 1; i <= 100; i++) {
System.out.println("当i=:"+i+"时的状况:");
for (j = 2; j <= i; j++) {
if (i % j == 0)
break;
if (j > i / 2){
System.out.println("在第二个for循环了"+j+"次后"+" 发现 "+i + "是素数,然后i自动加1");
break;}
}
}
}
}
运行后你就明白了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
i=1
j=
i=2
j=2,
i=3
j=2,3,
i=4
j=2,
i=5
j=2,3,4,5,
i=6
j=2,
i=7
j=2,3,4,5,6,7,
i=8
j=2,
i=9
j=2,3,
j=
i=2
j=2,
i=3
j=2,3,
i=4
j=2,
i=5
j=2,3,4,5,
i=6
j=2,
i=7
j=2,3,4,5,6,7,
i=8
j=2,
i=9
j=2,3,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你如果会用eclipse的话,打开debug透视图,所有的东西都看的清清楚楚
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询