Contest1390 – 【Java程序设计】第三次作业【课程组】

发布于 2024-03-26  592 次阅读


Contest1390 - 【Java程序设计】第三次作业【课程组】

A : [OJ2043]Java习题:常用类的综合使用

import java.util.Scanner;
import java.util.Date;
import java.util.StringTokenizer;
import java.text.SimpleDateFormat;
import java.lang.Math;

public class Main {
    public static void main(String[] args) {

        Scanner input = new Scanner(System.in);

        String str1 = input.nextLine();
        String str2 = input.nextLine();

        double[] t = new double[4];
        double result;

        Date date = new Date(str1);
        SimpleDateFormat myFmt = new SimpleDateFormat("yyy年MM月dd日 HH时mm分ss秒");
        System.out.println(myFmt.format(date));

        StringTokenizer token = new StringTokenizer(str2, ";");
        for (int i = 0; token.hasMoreTokens(); i ++){
            t[i] = Double.parseDouble(token.nextToken());
        }

        result = Math.sin(t[0]) * Math.cos(t[1]) * Math.sqrt(Math.pow(t[2], t[3]));

        System.out.printf("result=%.4f\n", result);


    }
}

B : [OJ2046]Java习题:类的设计与对象构建

import java.text.DecimalFormat;
import java.util.Scanner;
class Dog{

    //定义私有实例属性  name(String)    weight(double)   color(String)
    private String name;
    private double weight;
    private String color;

    //定义公用的类属性 favorite(String),初始值为 "gnaw a bone"
    public static String favorite = "gnaw a bone";

    //定义实例属性的 get方法和set方法
    public String getName(){
        return name;
    }
    public void setName(String name){
        this.name = name;
    }
    public double getWeight(){
        return weight;
    }
    public void setWeight(double weight){
        this.weight = weight;
    }
    public String getColor(){
        return color;
    }
    public void setColor(String color){
        this.color = color;
    }

    //定义无参的构造方法
    public Dog(){
        this.name = "";
        this.weight = 0.0;
        this.color = "";
    }

    //定义带参数的构造方法,完成 name(String)    weight(double)   color(String)初始化
    public Dog(String name, double weight, String color){
        this.name = name;
        this.weight = weight;
        this.color = color;
    }

    //定义公有的 barking()方法,输出"wang wang wang……"
    public void barking(){
        System.out.println("wang wang wang……");
    }

    //定义 public boolean compare(Dog a) 方法,比较参数a 和 当前对象的各属性值是否都相等
    double epsilon = 1e-10;
    public boolean compare(Dog a){
        if (this == a) return true;
        return this.name.equals(a.name) && Math.abs(this.weight - a.weight) <= epsilon && this.color.equals(a.color);
    }

    //重写toString()方法,返回格式如: name=小不点 weight=3.60 color=白色
    @Override
    public String toString(){
        String formatWeight = String.format("%.2f", this.weight);
        return "name=" + name + " weight=" + formatWeight + " color=" + color;

//        DecimalFormat df = new DecimalFormat("#.00");
//        return "name=" + name + " weight=" + df.format(weight) + " color=" + color;
    }
    //weight的输出保留2位小数

}

public class Main {
    public static void main(String[] args) {

        Scanner input = new Scanner(System.in);

        //输入两组数据,如:
        //小不点 3.6 白色
        //贝贝 10.5 黑色
        String aName = input.next();
        double aWeight = input.nextDouble();
        String aColor = input.next();

        String bName = input.next();
        double bWeight = input.nextDouble();
        String bColor = input.next();

        //根据输入参数,创建两个Dog 对象
        Dog a = new Dog(aName, aWeight, aColor);
        Dog b = new Dog(bName, bWeight, bColor);

        //打印输出第1个Dog对象,并调用对象的barking()方法
        System.out.println(a);
        a.barking();

        //打印输出第2个Dog对象,并调用对象的barking()方法
        System.out.println(b);
        b.barking();

        //调用compare方法,对两个对象进行比较
        System.out.println("Compare results:" + a.compare(b));

    }
}