java华氏温度与摄氏度的互相转换

import java.util.Scanner;

class T4 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int a = 0;//接收选择的
        float x;//存温度的

        System.out.println("请选择操作:\n1.华氏温度--->摄氏温度\n2.摄氏温度--->华氏温度");
        a = in.nextInt();
        while (a != 1 && a != 2) {
            //让用户只选择1或2
            System.out.println("请选择操作:\n1.华氏温度--->摄氏温度\n2.摄氏温度--->华氏温度");
            a = in.nextInt();
        }

        //循环,用户继续转换吗?
        out:
        while (true) {
            switch (a) {
                case 1: {
                    System.out.println("请输入华氏温度 ");
                    x = in.nextFloat();
                    System.out.println(x + "'F = " + (x - 32) * 5 / 9 + "'C");
                    System.out.println("继续转换吗?\n0.退出\n1.继续");
                    a = in.nextInt();

                    //让用户只选择1或0
                    while (a != 1 && a != 0) {
                        System.out.println("0.退出\n1.继续");
                        a = in.nextInt();
                    }

                    if (a == 0) {
                        //a=0,用户要退出
                        break out;
                    } else {
                        //继续选择转换操作
                        System.out.println("请选择操作:\n1.华氏温度--->摄氏温度\n2.摄氏温度--->华氏温度");
                        a = in.nextInt();
                        while (a != 1 && a != 2) {
                            //让用户只选择1或2
                            System.out.println("请选择操作:\n1.华氏温度--->摄氏温度\n2.摄氏温度--->华氏温度");
                            a = in.nextInt();
                        }
                        break;
                    }
                }
                case 2: {
                    System.out.println("请输入摄氏度 ");
                    x = in.nextFloat();
                    System.out.println(x + "'C = " + (x * 9 / 5 + 32) + "'F");
                    System.out.println("继续转换吗?\n0.退出\n1.继续");
                    a = in.nextInt();
                    while (a != 1 && a != 0) {
                        //让用户只选择1或0
                        System.out.println("0.退出\n1.继续");
                        a = in.nextInt();
                    }
                    if (a == 0) {
                        //a=0,用户要退出
                        break out;
                    } else {
                        //继续选择转换操作
                        System.out.println("请选择操作:\n1.华氏温度--->摄氏温度\n2.摄氏温度--->华氏温度");
                        a = in.nextInt();
                        while (a != 1 && a != 2) {
                            //让用户只选择1或2
                            System.out.println("请选择操作:\n1.华氏温度--->摄氏温度\n2.摄氏温度--->华氏温度");
                            a = in.nextInt();
                        }
                        break;
                    }
                }
                default:
                    System.out.println("Error!操作选择有误!");
            }
        }
    }
}
  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该程序允许用户比较摄氏和华氏温度的相等性。具体要求如下: 建立一个Temperature类,它有两个实例变量:一个是温度值(float);另一个是温度的计量单位(char),即取值 ’C’ 或 ’F’,C表示Celsius(摄氏温度)、F表示Fahrenheit(华氏温度)。这个类还应有2 个构造方法: 给每一个实例变量设置缺省值,即温度值为0、计量单位为C(摄氏); 通过两个参数分别给两个实例变量赋初值。 这个类应包括: 两个存取方法:一个返回用摄氏计量的温度、另一个返回华氏温度。摄氏和华氏温度转换公式如下: degreesC = 5 * (degreesF - 32)/9 degreesF = (9* (degreesC)/5) + 32 三个改变对象属性的方法:一个设置温度值、一个设置计量单位(’F’或’C’)、另一个同时设置温度值和计量单位。 三个比较方法:一个用来是否两个温度相等;一个方法用来测试比较一个温度大于另一个温度;一个方法用来测试比较一个温度小于另一个温度。 最后写一个测试程序(main方法),测试Temperature类中的所有方法。要确保使用到所用的构造方法;要测试每一个比较方法,并确保至少有一个真(true)一个假(false)的结果。例如测试:0.0 degrees C = 32.0 degrees F -40.0 degrees C = - 40.0 degrees F -100.0 degrees C = 212.0 degrees F 请注意:必须保证输入的数据是有效的。所有非法的输入字符都应产生相应的错误信息并提示用户重新输入正确的数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值