首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

java生手使用for循环完成数组元素的插入

2012-12-14 
java新手使用for循环完成数组元素的插入import java.util.Scannerpublic class TestArray {public static

java新手使用for循环完成数组元素的插入
import java.util.Scanner;

public class TestArray {
public static void main(String[] args) {
String n[]=new String[50];
n[0]="张三";
n[1]="李四";
n[2]="王五";
Scanner input=new Scanner(System.in);
System.out.println("请输入您的姓名:");
String name=input.next();

for(int i=0;i<n.length;i++){
if(n[i]==null){
n[i]=name;
System.out.println("添加成功");//①
break;                        //②
}
                        //①和②放在此处时出现警告"dead code",警告位置是for循环里的i++,
//而且下面遍历数组非空元素的时候,应该插入的元素没能成功加入。请教这2处的区别,因为我看起来好像作用一样。。
}

for(String v:n){
if(v==null)
break;
System.out.println(v);
}
}
}

[最优解释]
//①和②放在此处时出现警告"dead code",警告位置是for循环里的i++
—— 你放这里相当于 break; 是循环中必然会被执行的语句(无视if条件),而且第一次循环就会执行,当然i++毫无意义。

是没排版的原因,还是你真的看不出区别么?
◎只有if成立才会执行①和②;
if(n[i]==null){
    n[i]=name;
    System.out.println("添加成功");//①
    break;                        //②
}

◎无论if是否成立,只要if语句块执行完毕,就会继续执行①和②
if(n[i]==null){
    n[i]=name;
}
System.out.println("添加成功");//①
break;                        //②

[其他解释]
我在linux下的命令窗口运行没有错误,也没有警告:

运行结果:

zhaoming@ubuntu:~/workspace/exercise$ javac TestArray.java
zhaoming@ubuntu:~/workspace/exercise$ java TestArray
请输入您的姓名:
123
添加成功
张三
李四
王五
123

[其他解释]

引用:
//①和②放在此处时出现警告"dead code",警告位置是for循环里的i++
—— 你放这里相当于 break; 是循环中必然会被执行的语句(无视if条件),而且第一次循环就会执行,当然i++毫无意义。

是没排版的原因,还是你真的看不出区别么?
◎只有if成立才会执行①和②;
if(n[i]==null){
    n[i]=name;
    Sy……

谢谢。我不知道怎么了,居然会卡在这里,我明白你说的。哎……

热点排行