java 解决使用循环初始化对象数组出现空指针异常

源代码会出现空指针异常:

public class founctionTest {
    public static void main(String[] args) {

        User[] u = new User[2];
        Scanner sc = new Scanner(System.in);
        for(int i = 0; i < u.length; i++){

            System.out.println("请输入第" + (i + 1) + "个用户");
            System.out.println("请输入用户名:");
            String name = sc.next();
            u[i].setUserName(name);

            System.out.println("请输入密码:");
                String pw = sc.next();
                u[i].setPassWorld(pw);
        }   
        System.out.println(u[0].toString());
        System.out.println(u[1].toString());
    }

}

修改后:

public class founctionTest {
    public static void main(String[] args) {

        User[] u = new User[2];
        Scanner sc = new Scanner(System.in);
        for(int i = 0; i < u.length; i++){

            System.out.println("请输入第" + (i + 1) + "个用户");
            User u1 = new User();
            System.out.println("请输入用户名:");
            String name = sc.next();
            u1.setUserName(name);

            System.out.println("请输入密码:");
                String pw = sc.next();
                u1.setPassWorld(pw);
          }   
        System.out.println(u[0].toString());
        System.out.println(u[1].toString());
    }

}

猜你喜欢

转载自blog.csdn.net/artisan_young/article/details/88686311