Java暑期学习第四十九天日报

一、今日学习内容:

今天练习实验六的内容。

二、遇到的问题:

三、明日计划:

明天练习实验七的习题。

今日练习的具体内容如下:

1.电子钟

设计一款电子钟类,用于显示时、分、秒

1. 含有形参有默认值的默认构造函数;

2. 重载 前缀++ 和 后缀—用于调整时间,每次调整均对秒进行调整,若秒满60,则分加1,若分满60则时加1,时满24,则清零重新开始;

3.输入(设定)时间;

4. 输出时间。

import java.util.Scanner;
public class clock {
    private int h;
    private int m;
    private int s;
    clock(){
        h=0;
        m=0;
        s=0;        
    }
    clock(int a,int b,int c){
        if(0<=h&&h<24&&0<=m&&m<60&&0<=s&&s<60){
         this.h=a;
         this.m=b;
         this.s=c;
         }
        else
         System.out.println("Time error");

    }
    public clock run() {
         s++;
         if(s>=60){
             s-=60;
             m++;
             if(m>=60){
                 m-=60;
                 h=(h+1)%24;
             }

         }
         return this;
    }
    public void input(int a,int b,int c) {
        if(0<=h&&h<24&&0<=m&&m<60&&0<=s&&s<60){
             this.h=a;
             this.m=b;
             this.s=c;
             }
            else
             System.out.println("Time error");
        
    }
    public void display() {
        System.out.println(this.h+":"+this.m+":"+this.s);
    }
    public static void main(String [] args) {
        int t;
        Scanner sc=new Scanner(System.in);
        clock time=new clock();
        System.out.println("请输入当前的时间:");
        int x=sc.nextInt();
        int y=sc.nextInt();
        int z=sc.nextInt();
        time.input(x, y, z);
         for(;;){
            for(t=0;t<100000000;t++);
            time.run();
            time.display();

         }
    }
}

测试截图:

   

2.分数类

定义一个分数类,包含分子、分母

1. 含有无参的默认构造函数,并进行构造函数的重载;

2. 分数的加法+、减法-、数乘*这三运算符;

3.分数的输入和输出运算符;

4. 分数的关系运算符==,!=,>=,<=;

5. 定义约简函数,使分子分母没有公因子。

import java.util.Scanner;
public class fraction {
    private int x;
    private int y;
    fraction(){
        
    }
    fraction(int a,int b){
        x=a;
        y=b;
    }
    public void setvalue(int a,int b) {
        x=a;
        y=b;
    }
    public fraction add(fraction f) {
        fraction F1=new fraction();
        F1.x=this.x*f.y+f.x*this.y;
        F1.y=this.y*f.y;
        return F1;
        }
    public  fraction Subtraction(fraction f) {
        fraction F=new fraction();
        F.x=this.x*f.y-f.x*this.y;
        F.y=this.y*f.y;
        return F;
    }
    public fraction Multiplication(int n) {
        fraction F=new fraction();
        F.x=this.x*n;
        F.y=this.y;
        return F;
        
    }
    public fraction single() {
        int a=x;
        int b=y;
        int z=y;
        while(a%b!=0)
        {
            z = a%b;
            a = b;
            b = z;    
        }
        x=x/z;
        y=y/z;
        return this;
    }
    public void display() {
        if(this.x%this.y!=0)
             System.out.println("结果为:"+this.x+"/"+this.y);
        else
             System.out.println("结果为:"+this.x/this.y);
    }
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一个分数的分子和分母:");
        int a=sc.nextInt();
        int b=sc.nextInt();
        fraction fra=new fraction(a,b);
        fraction F=new fraction();
        System.out.println("1.进行加法运算");
        System.out.println("2.进行减法运算");
        System.out.println("3.进行数乘运算");
        System.out.println("进行选择:");
        Scanner sc1=new Scanner(System.in);
        int n=sc.nextInt();
        if(n==1) {
            System.out.println("请输入一个分数的分子和分母:");
            Scanner sc2=new Scanner(System.in);
            int a1=sc2.nextInt();
            int b1=sc2.nextInt();
            fraction f1=new fraction();
            f1.setvalue(a1, b1);
            F=fra.add(f1);
            F.single();
            F.display();
        }
        if(n==2) {
            System.out.println("请输入一个分数的分子和分母:");
            Scanner sc2=new Scanner(System.in);
            int a1=sc2.nextInt();
            int b1=sc2.nextInt();
            fraction f1=new fraction();
            f1.setvalue(a1, b1);
            F=fra.Subtraction(f1);
            F.single();
            F.display();
        }
        if(n==3) {
            System.out.println("请输入一个整数:");
            Scanner sc2=new Scanner(System.in);
            int m=sc2.nextInt();
            F=fra.Multiplication(m);
            F.single();
            F.display();
    
        }
        System.exit(0);
    }

}

测试截图:

         

    

原文地址:https://www.cnblogs.com/Lizhichengweidashen/p/13550997.html