Java-lab-02-class

Java-lab-02-class

实验02(01)矩形类

1.   (30分)
设计矩形Rect类题目描述
设计矩形Rect类,有两个float 类型的属性成员长和宽,求面积和周长。
要求:设计两个以上的构造方法
(1)无参数,采用默认值0;
(2)两个参数,长方形。
设计测试类,输入数据,输出面积和周长。
输入描述
同一行输入两个数据
输出描述
同一行显示输出矩形的面积和周长。
输入样例
2  3
输出样例
6.0  10.0
import java.util.Scanner;

public class Ex01_Rect_Class {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        float length = sc.nextFloat();
        float width = sc.nextFloat();
        Rect re2 = new Rect(length, width);
        System.out.println(re2.getArea() + " " + re2.getPerimeter());

    }
}

class Rect {
    private float length;
    private float width;

    Rect() {
        this.length = 0;
        this.width = 0;
    }

    Rect(float length, float width) {
        this.length = length;
        this.width = width;
    }

    public float getPerimeter() {
        return 2 * (this.length + this.width);
    }

    public float getArea() {
        return (this.length * this.width);
    }
}

实验02(02)元角分转换

元角分转换题目描述
定义Money类,其含有三个成员变量:元,角,分。定义两个构造方法,一个构造方法有三个参数分别为:元,角,分;另一个构造方法只有一个参数,表示输入多少分钱,你需要在该构造方法中将分转换为元角分并初始化成员变量元角分。同时定义一个show方法,用于输出成员变量的信息。
定义测试类,创建一个Money类对象,并通过键盘输入一个整数代表多少分钱,然后调用show方法输出对应的元角分。
输入描述
输入一个整数,表示多少分钱
输出描述
输出对应的多少元,多少角,多少分
输入样例
5
76
1012
输出样例
5分
7角6分
10元1角2分
import java.util.Scanner;

public class Ex02_Money_Class {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int num1 = sc.nextInt();
        Money mo1 = new Money(num1);
        mo1.show();
    }
}

class Money {
    int yuan;
    int jiao;
    int fen;

    Money(int yuan, int jiao, int fen) {
        this.yuan = yuan;
        this.jiao = jiao;
        this.fen = fen;
    }

    Money(int num) {
        this.yuan = num / 100;
        this.jiao = num / 10 % 10;
        this.fen = num % 10;
    }

    public void show() {
        if (this.yuan != 0 && this.jiao != 0 && this.fen != 0)
            System.out.println(this.yuan + "元" + this.jiao + "角" + +this.fen + "分");
        else if (this.jiao != 0 && this.fen != 0)
            System.out.println(this.jiao + "角" + +this.fen + "分");
        else
            System.out.println(this.fen + "分");
    }
}

实验02(03)学生类

3.   (20分)
学生类定义题目描述
定义学生类,其中包括3个成员变量(String 姓名,String 学号,float 分数),两个构造方法(一个默认的没有参数的构造方法,另一个为带三个参数姓名学号分数的构造方法用于给成员变量赋值)和show()方法。show方法用于显示每个学生类对象的成员变量信息。显示的格式为:姓名:XXX,学号:XXXX,分数:XX 分数保留一位小数。
定义测试类,在main方法中实例化一个学生类对象,学生类对象中的成员通过键盘输入,输入的顺序为姓名 学号 分数,调用构造方法给成员变量初始化,然后调用对象的show方法输出对象信息。
输入描述
输入一个对象的信息,按照姓名 学号 成绩
输出描述
输出姓名:XXX 学号:XXX 分数:XX
其中冒号为中文冒号,每项中间一个空格。
输入样例
张三 10001 90
输出样例
姓名:张三  学号:10001 分数:90.0
import java.util.Scanner;

public class Ex03_Student_Class {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String name = sc.next();
        String ID = sc.next();
        float score = sc.nextFloat();
        Student st = new Student(name, ID, score);
        st.show();
    }
}

class Student {
    String name;
    String ID;
    float score;

    Student() {

    }

    Student(String name, String ID, float score) {
        this.name = name;
        this.ID = ID;
        this.score = score;
    }

    public void show() {
        System.out.printf("姓名:%s 学号:%s 分数:%.1f", this.name, this.ID, this.score);
    }
}

实验02(04)数学类

4.   (20分)


自定义常用数学类题目描述
定义一个实现常用数学运算的类MyMath,类中提供max()、min()、sum()与average()四个静态方法,每个方法带有三个整型参数,分别实现对三个数求取最大值、最小值、和值及平均值的运算。
定义测试类,在主类中对任意输入的三个整数,调用MyMath类的四种静态方法,求取结果并输出。平均值保留一位小数
输入描述
输入三个整数
输出描述
三个数的最大值, 最小值,和以及平均值(保留一位小数)
输入样例
7 8 9
输出样例
max=9
min=7
sum=24
avg=8.0
import java.util.Scanner;

public class Ex04_Math {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        MyMath mm = new MyMath();
        int n1 = sc.nextInt();
        int n2 = sc.nextInt();
        int n3 = sc.nextInt();
        System.out.println("max=" + mm.max(n1, n2, n3));
        System.out.println("min=" + mm.min(n1, n2, n3));
        System.out.println("sum=" + mm.sum(n1, n2, n3));
        System.out.printf("avg=%.1f", mm.average(n1, n2, n3));
    }
}

class MyMath {
    int n1, n2, n3;

    public static int max(int n1, int n2, int n3) {
        return n1 > n2 ? (n1 > n3 ? n1 : n3) : (n2 > n3 ? n2 : n3);
    }

    public static int min(int n1, int n2, int n3) {
        return n1 < n2 ? (n1 < n3 ? n1 : n3) : (n2 < n3 ? n2 : n3);
    }

    public static int sum(int n1, int n2, int n3) {
        return n1 + n2 + n3;
    }

    public static double average(int n1, int n2, int n3) {
        return (double) (n1 + n2 + n3) / 3.0f;
    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bmNkotc2AECynaY6

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值