2015-09-16 2 views
-5

Я занимаюсь своим первым назначением Java, и здесь я боюсь ошибки.Ошибка операнда в преобразовании температуры в Java?

* To change this license header, choose License Headers in Project Properties. 
* To change this template file, choose Tools | Templates 
* and open the template in the editor. 
*/ 
package ctof; 

/** 
* 
* @author Braydon 
*/ 
    import java.util.Scanner; 
public class CtoF { 

    /** 
    * @param args the command line arguments 
    */ 
    public static void main(String[] args) { 
     System.out.println("Enter temperature in Celsius:"); 
     Scanner temp = new Scanner(System.in); 
     String T = scan.nextLine(); 
      T = (T - 32) * 5/9; 
      System.out.println("Temperature in Fahrenheit =" + T); 
      } 
} 

Ошибка, которую она дает мне, заключается в следующем.

run: 
Enter temperature in Celsius: 
Exception in thread "main" java.lang.UnsupportedOperationException: Not supported yet. 
    at ctof.scan.nextLine(scan.java:19) 
    at ctof.CtoF.main(CtoF.java:21) 
Java Result: 1 
BUILD SUCCESSFUL (total time: 0 seconds) 

Ошибка в строке, где я выполняю математику, но я пробовал все, и я не могу это исправить. Пожалуйста помоги!

+5

Вы, как представляется, использовать 'ctof.scan' как-то ... в основном там больше кода, чем вы на самом деле показываете нам. –

+2

Прежде чем продолжить, найдите целочисленное деление. –

+4

Вы не можете вычесть из строк - для этого вам нужен числовой тип. –

ответ

1

Вы вызываете неправильную функцию.

Чтобы читать следующую строку, необходимо позвонить temp.nextLine(), а не scan.nextLine(). (сканирование даже не определено в коде, который вы отправили)

ОДНАКО: Вы не должны использовать nextLine(), когда вам нужно прочитать номер.

Следовательно: позвоните по телефону temp.nextInt() или temp.nextDouble().

0

Я считаю, что вы новичок в java. Прежде всего, вам нужно будет узнать о типах данных. Ну, вы можете основывать Google на программировании и учиться на нем.

Решение вашей проблемы:

public class CtoF { 

    public static void main(String[] args) { 
     System.out.println("Enter temperature in Celsius:"); 
     Scanner temp = new Scanner(System.in); 
     int T = temp.nextInt(); 
     T = (T - 32) * 5/9; 
     System.out.println("Temperature in Fahrenheit =" + T); 
    } 
} 

Попробуйте использовать хорошие имена для переменных (только предложение)

+0

Спасибо за помощь всем. У меня теперь есть функциональность кода, но моя математика ошибочна, поэтому мне нужно вернуться и выяснить, что я делаю неправильно с порядком операций или чем-то еще. –

+0

Если вы считаете, что это правильный ответ, отметьте его как ... он действительно мотивирует нас ответить на вопросы! И рад слышать, что он решен, получайте удовольствие от кодирования! –

+0

Я отметил это, но он не появится, пока я не получу 15 положительных голосов. Похоже, мой запрос получил -5, поэтому мне потребуется некоторое время. –

Смежные вопросы