我需要创建一个面向对象的C-F转换器程序。我需要有两种方法将c转换为f,f转换为c。该方法应具有返回类型和一个参数。这就是我所拥有的,并且在编译时我遇到了一堆错误。任何人都可以帮我找出我做错了什么吗?非常感谢:)。
import java.io.*;
class Celsius {
private int value, convertedValue;
int setValue(int c) {
value = c;
convertedValue = (int) ((9.0 / 5.0) * value + 32);
}
int getValue() {
return value;
}
int getConvertedValue() {
return convertedValue;
}
}
class Fahrenheit {
private int value, convertedValue;
int setValue(int f) {
value = f;
convertedValue = (int) ((9.0 / 5.0) * value - 32);
}
int getValue() {
return value;
}
int getConvertedValue() {
return convertedValue;
}
}
class FCconvert {
public static void main(String [] args) throws IOException {
InputStreamReader inStream = new InputStreamReader(System.in);
BufferedReader stdin = new BufferedReader(inStream);
String inData, choice1, choice2;
int input, c, f;
choice1 = "cel";
choice2 = "fah";
System.out.println("Please choose Celsius or Fahrenheit (c for celcius and f for fahrenheit)");
inData = stdin.readLine();
if (/*choice1 equals inData*/) {
System.out.println("Enter a value.");
inData = stdin.readLine();
c = Integer.parseInt(inData);
Celsius cel = new Celsius();
cel.setValue(c);
System.out.println("The converted value is: " + cel.getConvertedValue());
}
if (/*choice2 equals inData*/) {
System.out.println("Enter a value.");
inData = stdin.readLine();
f = Integer.parseInt(inData);
Fahrenheit fah = new Fahrenheit();
fah.setvalue(f);
System.out.println("The converted value is: " + fah.getConvertedValue());
}
}
}
答案 0 :(得分:1)
if (inData.equals("c"))
{
System.out.println("Enter a value.");
inData = stdin.readLine ( );
c = Integer.parseInt (inData);
Celsius cel = new Celsius();
cel.setValue(c);
System.out.println("The converted value is: " + c.getConvertedValue());
}
在使用这些方法之前,您需要实际创建Celsius
类的对象。类似于fahrenheit
类。话虽如此,请重新考虑您的课程设计。
还要注意字符串比较方式的变化。
答案 1 :(得分:0)
if ('c' == inData)
{
System.out.println("Enter a value.");
inData = stdin.readLine ( );
c = Integer.parseInt (inData);
Celsius cel = new Celsius();
cel.setValue(c);
System.out.println("The converted value is: " + cel.getConvertedValue());
}
华氏度相同。
if ('f' == inData)
{
System.out.println("Enter a value.");
inData = stdin.readLine ( );
f = Integer.parseInt (inData);
Fahrenheit fahr = new Fahrenheit();
fahr.setvalue(f);
System.out.println("The converted value is: " + fahr.getConvertedValue());
}