用java编写能输入和输出n个学生的信息(学生姓名,年龄,性别),用面向对象的方法

  1. 编写一个控制台程序,重复输n个学生的信息(学生姓名,年龄,性别),并把这5个学生对象加入到StringBuffer中buffer.append(student),最后输出StringBuffer的内容,输出格式如下:
    1.张三 22 男
    2.李四 18 女
    ……
    注意每个学生的信息输出一行。`

  2. 思路:首先建一个学生类(Student),将学生姓名、年龄、性别封装起来,setter/getter方法设置和得到属性,在测试类(Test)中建一个 Student[] students = new Student[N]数组,用来存学生这些个对象,然后通过构造器构造学生。如下所示:

  3. 主要:students[i] = new Student(input.next(), input.nextInt(), input.next());//键盘输入学生的每一个属性后封装成一个学生对象,将其引用给students[i] 。

  4. buffer.append((i+1)+"."+students[i].getStuName()+"\t").append(students[i].getAge()+"\t").append(students[i].getGender()+"\n");
    //或用buffer.append(students[i]+"\n");添加每一个学生的信息到buffer中

  5. 最后,在控制台打印出学生信息

  6. 具体实现代码如下:

/**
 * @author yyh on 2020/3/31 9:32
 */
public class Student {
    private String stuName;
    private int age;
    private String gender;

    public Student(){}
    public Student(String stuName, int age, String gender) {
        this.stuName = stuName;
        this.age = age;
        this.gender = gender;
    }

    public String getStuName() {
        return stuName;
    }

    public void setStuName(String stuName) {
        this.stuName = stuName;
    }

    public int getAge() {
        return age;
    }

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

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    @Override
    public String toString() {
        return "Student{" +
                "stuName='" + stuName + '\'' +
                ", age=" + age +
                ", gender=" + gender +
                '}';
    }
}

public class Test {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入学生人数:");
        int N = input.nextInt();
        System.out.println("请输入"+N+"个学生的信息(学生姓名,年龄,性别):");
        StringBuffer buffer = new StringBuffer();
        Student[] students = new Student[N];
        for (int i = 0; i < students.length; i++) {
            students[i] = new Student(input.next(), input.nextInt(), input.next());
            buffer.append((i+1)+"."+students[i].getStuName()+"\t").append(students[i].getAge()+"\t").append(students[i].getGender()+"\n");
            //或用buffer.append(students[i]+"\n");
        }
        System.out.println("输出"+N+"个学生的信息如下:");
        System.out.println(buffer);
        //或用:
       /* for (Student s:students) {
            System.out.println(s);
        }*/
		
    }
    
输出如下:
  "C:\Program Files\Java\jdk1.8.0_131\bin\java.exe" "-javaagent:D:\Program Files (x86)\JetBrains\IntelliJ IDEA 2018.3.6\lib\idea_rt.jar=50225:D:\Program Files (x86)\JetBrains\IntelliJ IDEA 2018.3.6\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_131\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\rt.jar;D:\蓝桥\lanqiaoxm\out\production\lang_11" ex.ex_1.Test
请输入学生人数:
5
请输入5个学生的信息(学生姓名,年龄,性别):
kk 11 男
jj 12 女
ee 13 男
rr 14 女
tt 15 男
输出5个学生的信息如下:
1.kk	11	男
2.jj	12	女
3.ee	13	男
4.rr	14	女
5.tt	15	男


Process finished with exit code 0
发布了5 篇原创文章 · 获赞 14 · 访问量 969

猜你喜欢

转载自blog.csdn.net/qq_45067943/article/details/105218908