Java基础 实验二:类和对象

1.实验目的
掌握类的声明、对象的创建、方法的定义和调用、构造函数的使用。

2.实验内容
1)定义一个表示学生信息的类Student,要求如下:
① 类Student的成员变量:
      sNO 表示学号;
      sName    表示姓名;
      sSex    表示性别;
      sJava    表示Java课程成绩;
② 类Student的方法成员:
      getNo():获得学号;
      getName():获得姓名;
      getSex():获得性别;
      getAge()获得年龄;
      getJava():获得Java 课程成绩
2)按(1)中学生类Student的定义,创建两个该类的对象,存储并输出两个学生的信息计算机并输出这两个学生Java语言成绩的平均值。
3)创建第 (1)题的Student类的5个对象,求他们Java语言成绩的最大值和最小值。
4)根据下面的要求实现圆类Circle。
  ① 圆类Circle的成员变量:
      radius表示圆的半径。
  ② 圆类Circle的方法成员:
      Circle():构造方法,将半径置0
      Circle(double r):构造方法,创建Circle对象时将半径初始化为r
      double getRadius():获得圆的半径值
      double getPerimeter():获得圆的周长
      void disp():将圆的半径、圆的周长和圆的面积输出到屏幕

3.实验代码

package seconddemo;
public class SecondDemo {
    public static class Student {//学生类
        //成员变量
        private String sNo;
        private String sName;
        private String sSex;
        private int sAge;
        private double sJava;
        public void setStudent(String no, String name, String sex, int age, int java) {
            sNo = no;
            sName = name;
            sSex = sex;
            sAge = age;
            sJava = java;
        }
        //成员方法
        public void getNO() {//获取相关成员变量的值
            System.out.print(sNo+"\t");
        }
        public void getName() {
            System.out.print(sName+"\t");
        }
        public void getSex() {
            System.out.print(sSex+"\t");
        }
        public void getAge() {
            System.out.print(sAge+"岁\t");
        }
        public void getJava() {
            System.out.print(sJava+"分");
        }
    }
    public static class Circle{
        private double radius;
        public Circle(){
            radius = 0;
        }
        public Circle(double r) {
            radius = r;
        }
        public double getRadius() {
            return radius;
        }
        public double getPerimeter() {
            return 2 * 3.14 * radius;
        }
        public void disp() {
            System.out.println("圆的半径为:" + radius);
            System.out.println("圆的周长为:" + (2 * 3.14 * radius));
            System.out.println("圆的面积为:" + (3.14 * radius * radius));
        }
    }
    public static void main(String[] args) {//主类
    //这是第二问
        System.out.println("第二问:");
        Student studentA = new Student();
        Student studentB = new Student();
        System.out.println("studentA和studentB的信息如下:");
        studentA.setStudent("gl3162052051432", "Yu Dong", "  男", 20, 98);
        studentB.setStudent("gl3162052051431", "Xu chen", "  男", 20, 100);
        studentA.getNO();
        studentA.getName();
        studentA.getSex();
        studentA.getAge();
        studentA.getJava();
        System.out.println();
        studentB.getNO();
        studentB.getName();
        studentB.getSex();
        studentB.getAge();
        studentB.getJava();
        System.out.println();
        System.out.println(studentA.sName+"同学和"+studentB.sName+"同学的Java课程的平均分为:"+((studentA.sJava+studentB.sJava)/2)+"分");
    //这是第三问
        double max = -1;
        double min = 101;
        Student[] student = new Student[5];//定义数组
        for(int i = 0; i<student.length; i++) {//初始化对象
            student[i] = new Student();
        }
        student[0].setStudent("gl3162052051432", "Yu Dong", "  男", 20, 98);
        student[1].setStudent("gl3162052051431", "Xu chen", "  男", 20, 62);
        student[2].setStudent("gl3162052051430", "Li hai", "  男", 20, 82);
        student[3].setStudent("gl3162052051429", "li da", "  男", 20, 77);
        student[4].setStudent("gl3162052051428", "Su wang", "  男", 20, 96);
        for(int i = 0; i<student.length; i++) {
            if(min > student[i].sJava)min = student[i].sJava;
            if(max < student[i].sJava)max = student[i].sJava;
        }
        System.out.println("\n第三问:");
        System.out.println("五名同学Java课程的最高成绩为:"+max);
        System.out.println("五名同学Java课程的最底成绩为:"+min);
    //这是第四问
        System.out.println();
        System.out.println("第四问:");
        Circle cirNameA = new Circle();
        Circle cirNameB = new Circle(6);
        System.out.println("无参初始化:");
        cirNameA.disp();
        System.out.println("带参初始化:");
        cirNameB.disp();
    }
}

4.运行结果

5.注意事项

       在主类内部,新建一个另一类的类,必须加上关键字 static,否则在主函数里调用非静态的类,出现错误,提示“无法从静态上下文中引用非静态变量this”,因为main方法执行时,内部非静态类还没加载,所以访问不到。在本例中在student类前加一个static,就可以直接在main中调用了,当然也可以将类放在外面。

  • 16
    点赞
  • 82
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值