试图进行计算

时间:2016-02-17 15:15:33

标签: java operators

我是一名初学程序员(就像只有一天的时间),我试图提出能够使用公式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;
   }
}

这是我跑完后的结果:

2 个答案:

答案 0 :(得分:1)

您的代码使用变量Celsius作为两种不同的类型。它不能同时为ScannerInteger

尝试这样的事情:

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会完成这项工作。

总的来说,这并不是一个糟糕的尝试,这些问题在初学者中很常见。