java实验作业 4

1、
定义Student类,包含三个私有属性:name、id、score,根据输出结果,填写程序的空白处。
构造方法中,如果输入的分数不在0~100之间,则对score属性赋值为0。
在对score属性赋值的set方法中,如果给的值不在0~100之间,则给出错误信息,并且不对score进行修改。

package learn;

import java.util.Scanner;

public class Student {
    private String name, id;
    private int score;

    public Student() {

    }

    public Student(String name, String id, int score) {
        this.name = name;
        this.id = id;
        if (score >= 0 && score <= 100) {
            this.score = score;
        } else {
            this.score = 0;
        }
    }

    public void setScore(int num) {

        if (num >= 0 && num <= 100) {
            score = num;
        } else {
            System.out.println("score input error");
        }
    }

    @Override
    public String toString() {
        String res = "name=" + name + ",id=" + id + ",score=" + score;
        return res;
    }


    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String n, s;
        int sc;
        n = in.nextLine();
        s = in.nextLine();
        sc = in.nextInt();
        Student stu = new Student(n, s, sc);
        System.out.println(stu);
        stu.setScore(sc + 50);
        System.out.println(stu);
    }
}

2、
输入三角形的三边长,计算面积和周长。
类中有构造方法、关于属性的set、get方法、计算面积和周长的方法。如果输入的边长不能构成三角形,则对象会拒绝接受该值,并输出相应的错误信息。
如果构造方法中提供的三边不能构成三角形,则三边都赋值为0。
根据已有源代码和输出结果,填写代码空白处,使程序完整。

package learn;

import java.util.Scanner;

public class Triangle {
    private double a, b, c;

    public Triangle(){

    }

    public Triangle(double a,double b,double c){
        if(isTriangle(a,b,c)) {
            this.a = a;
            this.b = b;
            this.c = c;
        }else{
            this.a=0;
            this.b=0;
            this.c=0;
        }
    }

    public double getPerimeter(){
        return a+b+c;
    }

    public double getArea(){
        double p=(a+b+c)/2;
        double s=Math.sqrt(p*(p-a)*(p-b)*(p-c));
        return s;
    }

    public static boolean isTriangle(double a,double b,double c){
        if(a+b>c && a+c>b && b+c>a){
            return true;
        }
        return false;
    }

    public void setSide(double x,double y,double z){
        if(isTriangle(x,y,z)){
            a=x;
            b=y;
            c=z;
        }else {
            System.out.println("a b c input error");
        }
    }

    public void setA(double x){
        if(isTriangle(x,b,c)){
            a=x;
        }else {
            System.out.println("a input error");
        }
    }

    public void setB(double y){
        if(isTriangle(a,y,c)){
            b=y;
        }else {
            System.out.println("b input error");
        }
    }

    public void setC(double z){
        if(isTriangle(a,b,z)){
            c=z;
        }else {
            System.out.println("c input error");
        }
    }

    public double getA() {
        return a;
    }

    public double getB() {
        return b;
    }

    public double getC() {
        return c;
    }

    @Override
    public String toString(){
        return "a="+a+",b="+b+",c="+c;
    }

    public static void main(String args[]) {
        Scanner in = new Scanner(System.in);
        double x = in.nextDouble();
        double y = in.nextDouble();
        double z = in.nextDouble();
        Triangle t = new Triangle(x, y, z);
        System.out.println("perimeter=" + t.getPerimeter());
        System.out.println("area=" + t.getArea());
        System.out.println(t);
        t.setSide(t.getA() + 3, t.getB() + 2, t.getC() + 1);
        System.out.println(t);
        t.setA(t.getA() + 20);
        System.out.println(t);
        t.setB(t.getB() + 20);
        System.out.println(t);
        t.setC(t.getC() + 20);
        System.out.println(t);
        in.close();
    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值