1,定义一个电视机类,实现电视机的基本功能(换台,调整音量,开关),并测试。

实验运行截图:

怎么利用Java获取电视的基本功能 java家中的电视实验代码_System


实验代码:

package 实验.作业2;

import java.util.Scanner;

public class j_01_电视机 {
    int on;
    private String brand;  //品牌
    private double price;  //价格
    private int size;  //规格
    int Channel = 1;  //频道,默认值为1
    int Volumn = 1;  //音量,默认值为1

    public void TV(String brand,double price,int size){
        this.brand = brand;
        this.price = price;
        this.size = size;
    }
    public void SetBrand(String brand){
        this.brand = brand;  //设置电视机品牌
    }
    public String GetBrand(){
        return brand;  //得到电视机品牌
    }
    public void SetPrice(double price){
        this.price = price;  //设置电视机价格
    }
    public double GetPrice(){
        return price;  //得到电视机价格
    }
    public void SetSize(int size){
        this.size = size;  //设置电视机规格
    }
    public int GetSize(){
        return size;  //得到电视机规格
    }
    public void TurnOn(){  //开机
        System.out.println("欢迎使用电视机...");
        on = 1;  //开机时int型变量的值是1,用于换台功能实现
    }
    public void TurnOff(){  //关机
        System.out.println("感谢您的使用,再见!");
        on = 0;  //关机时int型变量的值是0,用于换台功能实现
    }
    public void SetChannel(int NewChannel){  //调频功能,参数是新频道的值
        if(on == 1){
            if(NewChannel >= 0 && NewChannel <= 100){
                Channel = NewChannel;
                System.out.println("调频成功,当前电视机频道为:" + Channel);
            }
            else
                System.out.println("调频失败,所选频道不在合理范围内,当前电视机频道为:" + Channel);
            }
        else
            System.out.println("电视机处于关机状态,无法进行调频操作,请先开机!");
        }
    public void SetVolumn(int NewVolumn){
        if(on == 1){
            if(NewVolumn >= 0 && NewVolumn <= 20){
                Volumn = NewVolumn;
                System.out.println("调整音量成功,当前音量为:" + Volumn);
            }
            else
                System.out.println("调整音量失败,所输音量不在合理范围内,当前电视机音量为:" + Volumn);
        }
        else
            System.out.println("电视机处于关机状态,无法进行调整音量操作,请先开机!");
    }

//    public static void main(String[] args) {  //测试1
//        j_01_电视机 tv1 = new j_01_电视机();
//        tv1.TurnOn();
//        tv1.SetBrand("海信");
//        tv1.SetPrice(10000.00);
//        tv1.SetSize(100);
//        tv1.SetChannel(20);
//        tv1.SetVolumn(10);
//
//        j_01_电视机 tv2 = new j_01_电视机();
//        tv2.TurnOn();
//        tv2.SetBrand("海信");
//        tv2.SetPrice(9000.00);
//        tv2.SetSize(90);
//        tv2.SetChannel(25);
//        tv2.SetVolumn(6);
//
//        System.out.println("tv1的品牌是:" + tv1.brand + ", 价格是:" + tv1.price + ", 规格是:" + tv1.size);
//        System.out.println("tv2的品牌是:" + tv2.brand + ", 价格是:" + tv2.price + ", 规格是:" + tv2.size);
//
//        System.out.println("tv1的频道是:" + tv1.Channel + ", 音量是:" + tv1.Volumn);
//        System.out.println("tv2的频道是:" + tv2.Channel + ", 音量是:" + tv2.Volumn);
//    }
    public static void main(String[] args) {  //测试2
        int x=0;  //定义一变量用于退出程序时使用
        int choose;  //定义一变量记录用户选择
        Scanner sc = new Scanner(System.in);
        int ch;  //记录需要调频到的频道
        int vo;  //记录更改后的音量
        j_01_电视机 tv1 = new j_01_电视机();
        tv1.TurnOn();
        tv1.SetBrand("海信");
        tv1.SetPrice(10000.00);
        tv1.SetSize(100);
        System.out.println("**    1开机        **");
        System.out.println("**    2关机        **");
        System.out.println("**    3调频        ***");
        System.out.println("**    4调整音量     **");
        System.out.println("**    5退出并关机   ***");
        while(x == 0){
            System.out.printf("请选择功能:");
            choose = sc.nextInt();
            switch (choose){
                case 1:
                    tv1.TurnOn();
                    break;

                case 2:
                    tv1.TurnOff();
                    break;

                case 3:
                    System.out.printf("请输入希望到的频道:");
                    ch = sc.nextInt();
                    tv1.SetChannel(ch);
                    break;

                case 4:
                    System.out.printf("请输入理想音量:");
                    vo = sc.nextInt();
                    tv1.SetVolumn(vo);
                    break;

                case 5:
                    System.out.printf("输入任意一个非零的数结束运行:");
                    x = sc.nextInt();
                    System.out.println("电视机关机成功!");
                    tv1.TurnOff();
                    break;
            }
        }
    }
}

2,设计一个分数类,分数的分子和分母用两个整型数表示,类中定义方法对分数进行加、减、乘、除运算。定义分数类对象,运算并输出运算结果。

实验运行截图:

怎么利用Java获取电视的基本功能 java家中的电视实验代码_System_02


实验代码:

package 实验.作业2;

import java.util.Scanner;
import java.util.StringTokenizer;

public class j_02_分数计算 {
    int fz;
    int fm;
    j_02_分数计算(){};
    j_02_分数计算(int fz,int fm){  //构造分数
        if(fm != 0){
            SetFzFm(fz,fm);  //分母不为0时,构造分数
        }
        else
            System.out.println("分母不可以为0,构造分数失败!");
    }

    public void SetFzFm(int fz,int fm){  //设置分子分母
        int c = f(Math.abs(fz),Math.abs(fm));  //得到分子分母的最大公约数
        this.fz = fz/c;
        this.fm = fm/c;  //处理后得到的分数不需要再进行约分操作
        if(this.fz < 0 && this.fm < 0){
            this.fz = -this.fz;
            this.fm = -this.fm;
        }
    }
    public int GetFz(){  //得到分子
        return fz;
    }

    public int GetFm(){  //得到分母
        return fm;
    }

    int f(int a,int b){  // 求最大公约数
        if(a < b){
            int c = a;
            a = b;
            b = c;
        }
        int r = a % b;
        while(r != 0){
            a = b;
            b = r;;
            r = a % b;
        }
        return b;
    }
    j_02_分数计算 add(j_02_分数计算 r){  //分数的加法计算
        int a = r.GetFz();
        int b = r.GetFm();  //得到分子分母
        int m = fm * b;  //分母
        int z = fz * b + fm * a;  //分子
        j_02_分数计算 result =  new j_02_分数计算(z,m);
        return result;
    }
    j_02_分数计算 sub(j_02_分数计算 r){//分数的减法计算
        int a = r.GetFz();
        int b = r.GetFm();
        int m = fm * b;  //分母
        int z = fz * b - fm * a;  //分子
        j_02_分数计算 result =  new j_02_分数计算(z,m);
        return result;
    }
    j_02_分数计算 mult(j_02_分数计算 r){  //分数的乘法计算
        int a = r.GetFz();
        int b = r.GetFm();
        int m = fm * b;
        int z = fz * a;
        j_02_分数计算 result =  new j_02_分数计算(z,m);
        return result;
    }
    j_02_分数计算 div(j_02_分数计算 r){  //分数的除法运算
        int a = r.GetFz();
        int b = r.GetFm();
        int m = fm * a;
        int z = fz * b;
        j_02_分数计算 result =  new j_02_分数计算(z,m);
        return result;
    }

    public static void all(String data1,String a,String data2){
        StringTokenizer fenxi = new StringTokenizer(data1,"/");
        int data1_1 = Integer.parseInt(fenxi.nextToken());
        int data1_2 = Integer.parseInt(fenxi.nextToken());
        fenxi = new StringTokenizer(data2,"/");
        int data2_1 = Integer.parseInt(fenxi.nextToken());
        int data2_2 = Integer.parseInt(fenxi.nextToken());
        j_02_分数计算 r1 = new j_02_分数计算(data1_1,data1_2);
        j_02_分数计算 r2 = new j_02_分数计算(data2_1,data2_2);  //构造两个分数
        j_02_分数计算 result;
        if(a.equals("+")){
            result = r1.add(r2);
            System.out.println("两个分数相加的结果为:" + result.GetFz() + "/" + result.GetFm());
        }
        if(a.equals("-")){
            result = r1.sub(r2);
            System.out.println("两个分数相减的结果为:" + result.GetFz() + "/" + result.GetFm());
        }
        if(a.equals("*")){
            result = r1.mult(r2);
            System.out.println("两个分数相乘的结果为:" + result.GetFz() + "/" + result.GetFm());
        }
        if(a.equals("/")){
            result = r1.div(r2);
            System.out.println("两个分数相除的结果为:" + result.GetFz() + "/" + result.GetFm());
        }
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int choose;  //定义变量记录选择
        int x = 0;  //定义变量退出循环

        System.out.println("**  1分数的加法运算  **");
        System.out.println("**  2分数的减法运算  **");
        System.out.println("**  3分数的乘法运算  **");
        System.out.println("**  4分数的除法运算  **");
        System.out.println("**  5退出程序的运行  **");
        System.out.printf("请输入第一个分数(分母不为0),以a/b的形式输入:");
        String data1 = sc.next();
        System.out.printf("请输入第二个分数(分母不为0),以a/b的形式输入:");
        String data2 = sc.next();
        while(x == 0){
            System.out.printf("您希望这两个分数进行什么运算,请选择功能:");
            choose = sc.nextInt();
            switch (choose){
                case 1:
                    String operation1 = "+";
                    j_02_分数计算 result1 = new j_02_分数计算();
                    result1.all(data1, operation1, data2);
                    break;

                case 2:
                    String operation2 = "-";
                    j_02_分数计算 result2 = new j_02_分数计算();
                    result2.all(data1, operation2, data2);
                    break;

                case 3:
                    String operation3 = "*";
                    j_02_分数计算 result3 = new j_02_分数计算();
                    result3.all(data1, operation3, data2);
                    break;

                case 4:
                    String operation4 = "/";
                    j_02_分数计算 result4 = new j_02_分数计算();
                    result4.all(data1, operation4, data2);
                    break;

                case 5:
                    System.out.printf("输入任意一个非0的数结束程序的运行:" );
                    x = sc.nextInt();
                    System.out.println("成功退出程序,感谢您的使用!");
                    break;
            }
        }
    }
}