我是一名初学程序员(就像只有一天的时间),我试图提出能够使用公式f-32将摄氏度转换为度数然后显示结果的代码。我有一些麻烦,因为没有显示结果,这就是出现的问题。请帮助。
import java.util.Scanner;
public class Assignments (
public static void main(String args[]) {
Integer Celsius, Faren;
Scanner Celsius = new Scanner(System.in);
System.out.prinln(" Enter value in Celsius: ");
int name = Celsius.nextint();
Faren = Celsius + 32;
}
}
这是我跑完后的结果:
答案 0 :(得分:1)
您的代码使用变量Celsius
作为两种不同的类型。它不能同时为Scanner
和Integer
。
尝试这样的事情:
Scanner scanCelsius = new Scanner(System.in);
System.out.prinln(" Enter value in Celsius: ");
int c = scanCelsius.nextint();
int f = c + 32;
顺便说一下,转换到华氏度是错误的。正确的公式是:
Fahrenheit = Celsius * 1.8 + 32
因此你必须使用 float :
float f = (float)c * 1.8 + 32;
答案 1 :(得分:0)
我可以看到两个主要问题。首先,正如@Manu在评论中提到的那样,你试图使用变量名称Celcius两次。这是不允许的,每个变量都应该有一个唯一的名称。尝试将Scanner重命名为celciusScanner或类似的东西。
其次,你有一个打印语句(X celcius是Y farenheit),格式不正确。你需要在变量Faren和后面的字符串之间加一个加号。但是我在你的代码中没有看到这一行,我想你必须删除它。
也有一些一般性评论。您的变量名称应始终以小写字母开头。以大写字母开头的名称通常是为类保留的。坚持这样的约定使得阅读代码变得更加容易。我还会研究int和Integer之间的区别。看起来你有两个变量定义为Integer,但似乎int会完成这项工作。
总的来说,这并不是一个糟糕的尝试,这些问题在初学者中很常见。