2016-02-17 4 views
1

Я начинающий программист (как только один день), и я пытаюсь придумать код, который сможет преобразовать Цельсию в градусы по формуле 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

Пожалуйста, добавьте свой код на вопрос, а не скриншот из него. – Manu

+1

Основная проблема заключается в том, что вы пытаетесь использовать имя «Celsius» дважды. – Manu

+0

Добро пожаловать в StackOverflow. Вы должны быть очень осторожны, чтобы ваш код был правильным, одна небольшая ошибка, и компилятор будет жаловаться. Вам не хватает '+' в том месте, где компилятор замечает ошибку. Кроме того, просто вычитание 32 не является правильной формулой для преобразования Цельсия в Фаренгейт. Получайте удовольствие от обучения программе! – Jesper

ответ

0

У вас есть две основные проблемы, которые я могу видеть. Во-первых, как упоминалось в комментариях @Manu, вы пытаетесь использовать имя переменной Celcius дважды. Это недопустимо, каждая переменная должна иметь уникальное имя. Попробуйте переименовать сканер в celciusScanner или что-то в этом роде.

Во-вторых, у вас есть оператор печати (X celcius - Y farenheit), который не отформатирован правильно. Вам нужен плюс между переменной Faren и следующей строкой. Однако я не вижу эту строку в вашем коде, я думаю, вы, должно быть, удалили это.

Пара общих замечаний тоже. Имена переменных всегда должны начинаться с буквы в нижнем регистре. Имена, начинающиеся с буквы верхнего регистра, обычно зарезервированы для классов. Придерживаясь таких соглашений, вам гораздо легче читать код. Я также рассмотрю разницу между int и Integer. Похоже, у вас есть две переменные, определенные как Integer, но кажется, что int выполнит эту работу.

В целом, хотя и не плохая попытка, и эти проблемы очень часто встречаются с новичками.

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; 

К слову, Convertion градусы Фаренгейта неправильно. Правильная формула:

Fahrenheit = Celsius * 1.8 + 32 

Таким образом, вы должны использовать поплавок:

float f = (float)c * 1.8 + 32; 
Смежные вопросы