当前位置: 首页 > 知识库问答 >
问题:

Java OOP温度转换器

钱焕
2023-03-14

我对Java还是个新手,在理解OOP方面更是新手,所以请不要取笑我的不理解。

我试图设计一个程序,让用户输入华氏或摄氏度的温度,然后程序将确定另一个测量中的温度。

有没有人能给我一些建议,告诉我我的方向是否正确?

这是我到目前为止所做的,请记住,这是我对OOP的第一次尝试,所以它可能看起来一团糟。

import java.io.*;

class tempConvert
 {

//declaring variables
int c;      //variable for "Celcius"
int f;      //variable for "Fahrenheit"




//method to convert celcius to fahrenheit
public void celToFahr
 {
  InputStreamReader inStream = new InputStreamReader (System.in);
  BufferedReader temp = new BufferedReader (inStream);
  String cel;
  System.out.println ("Please input temperature in celcius:");
  cel = temp.readLine ( );
  c = Integer.parseInt (cel);

  f = (9.0 / 5.0) * c + 32;

  System.out.println ("The temperature in Fahrenheit is " + f + " degrees.");
 }




//method to convert fahrenheit to celcius
public void fahrToCel
 {
  BufferedReader temp = new BufferedReader (inStream);
  String fahr;
  System.out.println ("Please input temperature in fahrenheit:");
  fahr = temp.readLine ( );
  f = Integer.parseInt (fahr);

  c = (5.0 / 9.0) * (f - 32);

  System.out.println ("The temperature in Celcius is " + c + " degrees.");
 }



  }

共有1个答案

常俊侠
2023-03-14

这里有一个可以使用的OOP概念:值类型。值类型是包含值的对象,如原始包装器Integer、Double等,以及其他类(如BigDecimal)。

现在,对于您的值类型,这里有三个想法:1)一个类有两个字段来表示值和刻度;2)每个温标都有一个不同的类;3)一个类在内部总是使用相同的刻度来表示温度,并在外部将其转换为其他刻度。当选择这些设计之一时,考虑一下您必须编写的转换方法的复杂性,以及使用您正在创建的小API的客户端代码的复杂性,特别是如果您想添加对更多温标的支持。

 类似资料:
  • 我正在做一个项目,需要我使用TinkerKit热敏电阻传感器来获得室温。检测后,Arduino BT板必须通过蓝牙将串行数据发送回Android手机。温度需要在Celcius的手机屏幕上显示。 我已经使串行通信链接工作。但热敏电阻的读数似乎很奇怪。它的读数是173/174/175,但我不确定它的读数是华氏度还是摄氏度(因为我找不到任何数据表和热敏电阻读数装置的详细信息)。 我必须包括任何带数值的温

  • 本文向大家介绍C#程序将摄氏温度转换为华氏温度,包括了C#程序将摄氏温度转换为华氏温度的使用技巧和注意事项,需要的朋友参考一下 首先,设置摄氏温度- 现在将其转换为华氏度: 您可以尝试运行以下代码将摄氏温度转换为华氏温度。 示例 输出结果

  • Python3 实例 以下实例演示了如何将摄氏温度转华氏温度:# -*- coding: UTF-8 -*- # Filename : test.py # author by : www.runoob.com # 用户输入摄氏温度 # 接收用户输入 celsius = float(input('输入摄氏温度: ')) # 计算华氏温度 fahrenheit = (celsius * 1.8) +

  • 我正在做关于java编程的小练习。 基本上,该应用程序允许用户输入华氏温度并显示摄氏当量,或输入摄氏温度并显示华氏当量。该应用程序包括一个摄氏度方法,返回相当于华氏温度的摄氏度。该应用程序还包括一个华氏度方法,该方法返回相当于摄氏度的华氏度。 以下是我的完整代码: 好消息是包括方法在内的代码正在工作。用户可以输入选择1或2,然后输入温度数字并以摄氏度或华氏度显示。但如果用户输入选择3,程序将显示“

  • 我在Java从华氏温度转换到摄氏温度时遇到了问题。我刚刚开始学习Java,现在还在阅读书籍和教程。 对于我的第一个程序,我正在尝试根据本教程创建一个基本的温度计算器。 我想扩展它的功能,也包括华氏温度到摄氏温度的转换,以及基本摄氏温度到华氏温度的转换。 因此,我使用给出的示例代码完成了摄氏温度到华氏温度的部分,现在,使用相同的代码,经过大量的试验和错误后稍微修改,我正在尝试处理另一半。我让它在某种

  • 问题内容: 我正在尝试将华氏度转换为摄氏温度。现在当我使用此方法时出现错误: 然后再次尝试给定 (5.0), 那么为什么工作? 问题答案: 值“ 5”和“ 9”是整数,并且将5/9视为,这是为什么您得到错误答案的原因。当两个整数相除时,答案是自动的。有必要将“5”和“ 9”之一写为5.0和9.0 更好的做法是始终将as 和or都写为and。 由于乘法和其他运算大多是递归的,因此该语句也可以正常工作