java程序设计 面向对象基础 实验

java程序设计 面向对象基础 实验,第1张

二。

1。People.java

public class People {

//性别(sex)及出生日期(date);方法成员有:获取人的性别和出生日期及构造方法。要求构造方法可以设置性别和出生日期的初始值。

private int sex

private Date birth

public People (int sex, Date birth) {

this.sex = sex

this.birth = birth

}

public int getSex() {

return this.sex

}

public Date getBirth() {

return this.birth

}

}

2。Student.java

public class Student extends People{

private int sex

private Date birth

private String name

private int stuno

private double grate

private String studentNative

public Student(int sex, Date birth, String name, int stuno, double grate, String studentNative) {

super(sex, birth)

this.name = name

this.stuno = stuno

this.grate = grate

this.studentNative = studentNative

}

public Date getBirth() {

return birth

}

public double getGrate() {

return grate

}

public String getName() {

return name

}

public int getSex() {

return sex

}

public String getStudentNative() {

return studentNative

}

public int getStuno() {

return stuno

}

}

3。测试类自己编写就好了,创建一个People和Student的对象,然后设置值,取值就可以了。

五。

1.构造方法没有返回值,方法名和类名一样.

2.继承是指子类可以拥有父类的方法和属性;多态是指父类的引用可以指向子类对象的实例

3.重写

4.重载

其他的没什么了,自己完成以下吧。O(∩_∩)O~

源代码:

import java.util.*

public class Test1 {

    

public static class Student{

    int id

    String name

    int math

    int english

    int history

    

    public void setId(int id){

        this.id=id

    }

    public int getId(){

        return id

    }

    public void setName(String name){

        this.name=name

    }

    public String getName(){

        return name

    }

    public void setMath(int math){

        this.math=math

    }

    public int getMath(){

        return math

    }

    public void setEnglish(int english){

        this.english=english

    }

    public int getEglish(){

        return english

    }

    public void setHistory(int history){

        this.history=history

    }

    public int getHistory(){

        return history

    }

}

    public static void main(String[] args) {

        

        Scanner scan=new Scanner(System.in)

        System.out.println("请输入学生人数:")

        int renshu=scan.nextInt()

        

        Student[]stu=new Student[renshu]

        for(int i=0i<renshui++){

            stu[i]=new Student()

            int id,math,english,history

            String name

            System.out.println("请输入学生的学号:")

            Scanner scan1=new Scanner(System.in)

            id=scan1.nextInt()

            System.out.println("请输入该生的姓名:")

            Scanner scan2=new Scanner(System.in)

            name=scan2.next()

            System.out.println("请输入该生的数学英语、历史成绩:")

            Scanner scan3=new Scanner(System.in)

            math=scan3.nextInt()

            english=scan3.nextInt()

            history=scan3.nextInt()

            

            stu[i].setId(id)

            stu[i].setName(name)

            stu[i].setMath(math)

            stu[i].setEnglish(english)

            stu[i].setHistory(history)

        }

        List<Student>list=new ArrayList<>()

        list=Arrays.asList(stu)

        Iterator<Student>it=list.iterator()

        while(it.hasNext()){

            Student s=new Student()

            s=it.next()

            System.out.print("学号:"+s.getId()+" 姓名:"+s.getName()+" 数学:"+s.getMath()+" 英语:"+s.getEglish()+" 历史"+s.getHistory())

            System.out.println()

        }

        System.out.println("三门全部通过的同学为:")

        Iterator<Student>it1=list.iterator()

        while(it1.hasNext()){

            Student s=new Student()

            s=it1.next()

            if(s.getMath()>=60 &&s.getEglish()>=60 &&s.getHistory()>=60)

             System.out.println("学号:"+s.getId()+" 姓名:"+s.getName()+" 数学:"+s.getMath()+" 英语:"+s.getEglish()+" 历史"+s.getHistory())

        }

        System.out.println("三门全部不通过的同学为:")

        Iterator<Student>it2=list.iterator()

        while(it2.hasNext()){

            Student s=it2.next()

            if(s.getMath()<60 &&s.getEglish()<60 &&s.getHistory()<60)

             System.out.println("学号:"+s.getId()+" 姓名:"+s.getName()+" 数学:"+s.getMath()+" 英语:"+s.getEglish()+" 历史"+s.getHistory())

        }

        System.out.println()

        System.out.println("三门至少有一门通过的同学为:")

        Iterator<Student>it3=list.iterator()

        while(it3.hasNext()){

            Student s=it3.next()

            if(s.getMath()>=60 || s.getEglish()>60 || s.getHistory()>60)

              System.out.println("学号:"+s.getId()+" 姓名:"+s.getName()+" 数学:"+s.getMath()+" 英语:"+s.getEglish()+" 历史"+s.getHistory())

        }

        System.out.println()

        System.out.println("数学不通过的同学为:")

        Iterator<Student>it4=list.iterator()

        while(it4.hasNext()){

            Student s=it4.next()

            if(s.getMath()<60)

              System.out.println("学号:"+s.getId()+" 姓名:"+s.getName()+" 数学:"+s.getMath()+" 英语:"+s.getEglish()+" 历史"+s.getHistory())

            }

        

            }

        }

其实这样get、set不如直接定义一个构造函数方便。

还有下面这个源代码可能不符合要求,没有键盘输入,但是有分别用for和迭代器,更好理解。

import java.util.*

public class Test {

public static class Student{

    int id

    String name

    int math

    int english

    int history

    

    public void setId(int id){

        this.id=id

    }

    public int getId(){

        return id

    }

    public void setName(String name){

        this.name=name

    }

    public String getName(){

        return name

    }

    public void setMath(int math){

        this.math=math

    }

    public int getMath(){

        return math

    }

    public void setEnglish(int english){

        this.english=english

    }

    public int getEglish(){

        return english

    }

    public void setHistory(int history){

        this.history=history

    }

    public int getHistory(){

        return history

    }

}

    public static void main(String[] args) {

        Student s1=new Student()

        s1.setId(11)

        s1.setName("dr")

        s1.setMath(100)

        s1.setEnglish(90)

        s1.setHistory(80)

        Student s2=new Student()

        s2.setId(12)

        s2.setName("spe")

        s2.setMath(100)

        s2.setEnglish(50)

        s2.setHistory(80)

        Student s3=new Student()

        s3.setId(13)

        s3.setName("wr")

        s3.setMath(50)

        s3.setEnglish(100)

        s3.setHistory(80)

        Student s4=new Student()

        s4.setId(14)

        s4.setName("axe")

        s4.setMath(50)

        s4.setEnglish(50)

        s4.setHistory(50)

        List<Student>list=new ArrayList<>()

        list.add(s1)

        list.add(s2)

        list.add(s3)

        list.add(s4)

        System.out.println("使用迭代器:")

        System.out.println("所有学生成绩:")

        Iterator<Student>it=list.iterator()

        

    while(it.hasNext()){

        Student s=it.next()

        System.out.print("学号:"+s.getId()+" 姓名:"+s.getName()+" 数学:"+s.getMath()+" 英语:"+s.getEglish()+" 历史"+s.getHistory())

        System.out.println()

    }

    System.out.println()

    System.out.println("三门全部通过的同学为:")

    Iterator<Student>it1=list.iterator()

    while(it1.hasNext()){

        Student s=it1.next()

        if(s.getMath()>=60 &&s.getEglish()>=60 &&s.getHistory()>=60)

            System.out.println("学号:"+s.getId()+" 姓名:"+s.getName()+" 数学:"+s.getMath()+" 英语:"+s.getEglish()+" 历史"+s.getHistory())

    }

    System.out.println("三门全部不通过的同学为:")

    Iterator<Student>it2=list.iterator()

    while(it2.hasNext()){

        Student s=it2.next()

        if(s.getMath()<60 &&s.getEglish()<60 &&s.getHistory()<60)

            System.out.println("学号:"+s.getId()+" 姓名:"+s.getName()+" 数学:"+s.getMath()+" 英语:"+s.getEglish()+" 历史"+s.getHistory())

    }

    System.out.println()

    System.out.println("三门至少有一门通过的同学为:")

    Iterator<Student>it3=list.iterator()

    while(it3.hasNext()){

        Student s=it3.next()

        if(s.getMath()>=60 || s.getEglish()>60 || s.getHistory()>60)

            System.out.println("学号:"+s.getId()+" 姓名:"+s.getName()+" 数学:"+s.getMath()+" 英语:"+s.getEglish()+" 历史"+s.getHistory())

    }

    System.out.println()

    System.out.println("数学不通过的同学为:")

    Iterator<Student>it4=list.iterator()

    while(it4.hasNext()){

        Student s=it4.next()

        if(s.getMath()<60)

            System.out.println("学号:"+s.getId()+" 姓名:"+s.getName()+" 数学:"+s.getMath()+" 英语:"+s.getEglish()+" 历史"+s.getHistory())

    }

    System.out.println()

    System.out.println("使用for语句")

    System.out.println("所有学生成绩:")

    

        for(int i=0i<list.size()i++)

            System.out.println("学号"+list.get(i).getId()+" 姓名 "+list.get(i).getName()+" 数学"+list.get(i).getMath()+" 英语"+list.get(i).getEglish()+" 历史"+list.get(i).getHistory())

        System.out.println()

        System.out.println("三门全部通过的同学为:")

        for(int i=0i<list.size()i++){

            if(list.get(i).getMath()>=60 &&list.get(i).getEglish()>=60 &&list.get(i).getHistory()>=60)

                System.out.println("学号"+list.get(i).getId()+" 姓名 "+list.get(i).getName()+" 数学"+list.get(i).getMath()+" 英语"+list.get(i).getEglish()+" 历史"+list.get(i).getHistory())

        }

        System.out.println()

        System.out.println("三门全部不通过的同学为:")

        for(int i=0i<list.size()i++){

            if(list.get(i).getMath()<60 &&list.get(i).getEglish()<60 &&list.get(i).getHistory()<60)

                System.out.println("学号"+list.get(i).getId()+" 姓名 "+list.get(i).getName()+" 数学"+list.get(i).getMath()+" 英语"+list.get(i).getEglish()+" 历史"+list.get(i).getHistory())

        }

        System.out.println()

        System.out.println("三门至少有一门通过的同学为:")

        for(int i=0i<list.size()++i){

            if(list.get(i).getMath()>60 || list.get(i).getEglish()>60 || list.get(i).getHistory()>60)

                System.out.println("学号"+list.get(i).getId()+" 姓名 "+list.get(i).getName()+" 数学"+list.get(i).getMath()+" 英语"+list.get(i).getEglish()+" 历史"+list.get(i).getHistory())

        }

        System.out.println()

        System.out.println("数学不通过的同学为:")

        for(int i=0i<list.size()++i){

            if(list.get(i).getMath()<60)

                System.out.println("学号"+list.get(i).getId()+" 姓名 "+list.get(i).getName()+" 数学"+list.get(i).getMath()+" 英语"+list.get(i).getEglish()+" 历史"+list.get(i).getHistory())

        }

        System.out.println()

    }

    }

package com

import java.util.*

public class Student{

private String name

private String id

private double sumscore

public Student(String name,String id,double sumscore){

this.name=name

this.id=id

this.sumscore=sumscore

}

public String toString() {

return "name:"+getName()+" id:"+getId()+" sumscore:"+getSumscore()

}

public String getName() {

return name

}

public void setName(String name) {

this.name = name

}

public String getId() {

return id

}

public void setId(String id) {

this.id = id

}

public double getSumscore() {

return sumscore

}

public void setSumscore(double sumscore) {

this.sumscore = sumscore

}

public static void main(String[] args) {

Student []s={new Student("A","1",12),new Student("B","2",22),new Student("C","3",32),

new Student("D","4",142),new Student("E","5",152),new Student("F","6",262),new Student("G","7",72),

new Student("H","8",182),new Student("I","9",92),new Student("J","10",102)

}

s=bubbleSort(s)

Vector<Student> vector = new Vector<Student>()

vector.addAll(Arrays.asList(s))

for (Iterator<Student> iter = vector.iterator() iter.hasNext())

{

Student student = iter.next()

System.out.println(student.toString())

}

List <Student>list=new ArrayList<Student>()

list=Arrays.asList(s)

for(Student str:list){

System.out.println(str.toString())

}

Hashtable <Integer,Student>table =new Hashtable<Integer,Student>()

for(int i=0i<s.lengthi++){

table.put(i, s[i])

}

for(int i=0i<s.lengthi++){

System.out.println(table.get(i).toString())

}

}

public  static Student[] bubbleSort(Student[] args){//冒泡排序算法

Student temp

        for(int i=0i<args.length-1i++){

                for(int j=i+1j<args.lengthj++){

                        if (args[i].getSumscore()>args[j].getSumscore()){

                         temp=args[i]

                                args[i]=args[j]

                                args[j]=temp

                        }

                }

        }

        return args

}

}

//楼主,说实话你的要求真多,而且分少~~~~


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/yw/7807230.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-10
下一篇2023-04-10

发表评论

登录后才能评论

评论列表(0条)

    保存