Java语言程序设计 选实验2 类的初级应用

实验目的与要求

    实验目的:初步掌握面向对象编程中类的编写。

实验要求:

(1).编写一个Student类。类中包含三个成员变量name、gender和id。定义对应的方法对这三个成员变量进行修改和读取。在报告中附上程序截图、运行结果和详细的文字说明。(50分)

(2).编写一个Circle类,类中包含有常量PI。该类创建的实例可以计算一个圆的圆周和面积。在报告中附上程序截图、运行结果和详细的文字说明。(30分)

(3).编写一个TestCircle类,在类中的main方法里面,创建两个Circle类的实例,分别输出它们的圆周和面积。在报告中附上程序截图、运行结果和详细的文字说明。(20分)

(1).编写一个Student类。类中包含三个成员变量name、gender和id。定义对应的方法对这三个成员变量进行修改和读取。在报告中附上程序截图、运行结果和详细的文字说明。(50分)

设计:实现对应属性的getter和setter,以及重写toString方法。

package Hw3;

import java.util.Scanner;

public class Student {
    private String name;
    private byte gender; // 1代表男性   2代表女性
    private int id;

    public Student(String name, byte gender, int id) {
        this.name = name;
        this.gender = gender;
        this.id = id;
    }

    public String getName() {
        return name;
    }

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

    public byte getGender() {
        return gender;
    }

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

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    @Override
    public String toString() {
        String temp = "";
        if(gender==1){
            temp = "男性";
        } else if (gender==2) {
            temp = "女性";
        } else {
            return "性别有误,请重试";
        }
        return "Student{" +
                "姓名:'" + name + '\'' +
                ", 性别:" + temp +
                ", id:" + id +
                '}';
    }

    public static void main(String[] args) {
        String name;
        byte gender;
        int id;
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入姓名:");
        name = sc.nextLine();
        System.out.println("请输入性别:1为男性,2为女性");
        gender = sc.nextByte();
        System.out.println("请输入id:");
        id = sc.nextInt();
        Student student = new Student(name,gender,id);
        System.out.println(student);
    }
}

 

(2).编写一个Circle类,类中包含有常量PI。该类创建的实例可以计算一个圆的圆周和面积。在报告中附上程序截图、运行结果和详细的文字说明。(30分)

设计:封装圆周和面积计算方法,重写toString方法

package Hw3;

import java.util.Scanner;

public class Circle {
    private final double pi = 3.14; //定义常量pi为3.14
    private double radius;
    private double circumference;
    private double size;

    public double getPi() {
        return pi;
    }

    public double getRadius() {
        return radius;
    }

    public void setRadius(double radius) {
        this.radius = radius;
    }

    public Circle(double radius) {
        this.radius = radius;
        circumference = 2 * pi * radius;
        size = pi * radius * radius;
    }

    @Override
    public String toString() {
        return "Circle{" +
                "半径为:" + radius +
                ", 周长为:" + circumference +
                ", 面积为:" + size +
                '}';
    }

    public static void main(String[] args) {
        double radius;
        System.out.println("请输入圆的半径");
        Scanner sc = new Scanner(System.in);
        radius = sc.nextDouble();
        Circle circle = new Circle(radius);
        System.out.println(circle);
    }
}


(3).编写一个TestCircle类,在类中的main方法里面,创建两个Circle类的实例,分别输出它们的圆周和面积。在报告中附上程序截图、运行结果和详细的文字说明。(20分)

设计:TestCircle的main方法中实例化第(2)题的Circle

package Hw3.TestClass;

import Hw3.Circle;

import java.util.Scanner;

public class TestCircle {
    public static void main(String[] args) {
        double radius1, radius2;
        System.out.println("请输入两个圆的半径:");
        Scanner sc = new Scanner(System.in);
        radius1 = sc.nextDouble();
        radius2 = sc.nextDouble();
        Circle circle1 = new Circle(radius1);
        Circle circle2 = new Circle(radius2);
        System.out.println("半径分别为"+radius1+","+radius2);
        System.out.println("圆的周长和面积为:");
        System.out.println(circle1);
        System.out.println(circle2);
    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值