当前位置:编程学习 > JAVA >>

java小问题~

我想问一下 什么时候用for 什么时候用while 。。。。。。老师说用for的湿乎乎循环次数是一定的。。。那while(n>m)此时m不是也是个循环的次数嘛??怎么不一定啦?? 呈上一题~~: 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0<repeat<10),做repeat次下列运算: 输入1 个正整数 n (1≤n≤6)和n 阶方阵a中的元素,如果a是上三角矩阵, 输出"YES", 否则, 输出"NO"。(上三角矩阵,即主对角线以下的元素都为0, 主对角线为从矩阵的左上角至右下角的连线) 例:括号内是说明 输入: 2 (repeat=2) 3 1 2 3 0 4 5 0 0 6 (n=3) 2 1 0 -8 2 (n=2) 输出: YES NO import java.util.Scanner; public class Test60013{ public static void main(String []args){ int ri, repeat; int a[][],i,j,n; boolean flag ; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ n=in.nextInt(); a=new int[n][n]; for (i=0;i<n;i++) for (j=0;j<n;j++) a[i][j]=in.nextInt(); /*---------*/ flag=true; for (i=0;i<n;i++) for (j=0;j<i;j++) if(a[i][j]!=0) flag=false; if(flag) System.out.println("YES"); else System.out.println("NO"); } } } flag=true; for (i=0;i<n;i++) for (j=0;j<i;j++) if(a[i][j]!=0) flag=false; 换成: i=1;j=0;flag=true; while(a[i][j]!=0) { i++; j++ flag=false;break; }
补充:能否帮忙看下我的程序有哪里错误嘛?就是换成那里是我写的~
答案:for语句就是在已知循环次数时就可以用
while在未知次数也可以进行循环运算比如:计算1到100的和可以用for、while都行,但是如果要打印出1到100中连续10个数的和小于130的所有组合咋办?
我不清楚到底有几组数据咋用for。用while就不一样了:while(和<130){和=.........;println(和);}
其他:for中能方便的定义循环次数。while可以看作是含有if的循环语句,它的判断性更高一些。
其实这两个用的时候基本可以互换,只是看哪个更方便一些,两个都可以无限循环,区别不大

上一个:java窗口关闭问题,急死 急死 急死了
下一个:Java初学者关于servlet的问题

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,