黑马程序员技术交流社区

标题: 用面向对象做一个动态输入学生信息并打印的程序 [打印本页]

作者: _J2EE_LiXiZhen    时间: 2017-10-20 20:25
标题: 用面向对象做一个动态输入学生信息并打印的程序
[Java] 纯文本查看 复制代码
import java.util.ArrayList;
import java.util.Scanner;
/**
* 利用面向对象与集合做一个动态输入学生信息并打印的小程序
* */
public class DemoStudent {
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                // 定义标志
                boolean flag = true;
                // 定义动态数组
                ArrayList<Student> arr = new ArrayList<Student>();
                while (flag) {
                        // 每次循环创建一个新的Student类对象
                        Student stu = new Student();

                        // 给Student类属性赋值
                        System.out.println("请输入学生姓名: ");
                        stu.setName(sc.next());
                        System.out.println("请输入学生年龄: ");
                        stu.setAge(sc.nextInt());
                        System.out.println("请输入学生性别: ");
                        stu.setSex(sc.next());
                        System.out.println("请输入学生班级: ");
                        stu.setClassName(sc.next());

                        // 将stu对象添加到集合
                        arr.add(stu);

                        // 提醒用户是否继续添加学生
                        System.out.println("是否继续添加?y(是)/n(否)");
                        // 判断是否继续执行循环
                        if ((sc.next().equals("n"))) {
                                // 如果用户选否,更改flag为false
                                flag = false;
                        }
                }
                //调用方法打印学生信息
                printStudentInfo(arr);
        }
        /**
         * 打印学生信息的方法
         * */
        public static void printStudentInfo(ArrayList<Student> arr){               
                //for循环遍历打印
                for (int i = 0; i < arr.size(); i++) {
                        //创建Student对象接收传来的对象地址
                        Student stu  = new Student();
                        stu = arr.get(i);
                        System.out.println("姓名: "+stu.getName()+" 年龄: "+stu.getAge()+
                        " 性别: "+stu.getSex()+" 班级: "+stu.getclassName());;
                }
        }
}

/**
* 学生类
*/
class Student {
        String name;

        public void setName(String name) {
                this.name = name;
        }

        public String getName() {
                return this.name;
        }

        int age;

        public void setAge(int age) {
                this.age = age;
        }

        public int getAge() {
                return this.age;
        }

        String sex;

        public void setSex(String sex) {
                this.sex = sex;
        }

        public String getSex() {
                return this.sex;
        }

        String className;

        public void setClassName(String className) {
                this.className = className;
        }

        public String getclassName() {
                return this.className;
        }
}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2