Прошу прощения за этот вопрос, потому что я знаю, что это действительно просто, но я привык к python и js, поэтому java для меня очень ново, и я не нашел ничего, говорящего мне, почему это не работает.

import java.util.Scanner;
public class HelloWorld{

     public static void main(String []args){

     }

    public static double changeToFahrenheit(){

        Scanner reader = new Scanner(System.in);
        System.out.println("Enter a number between 0-20: ");
        double celsius = reader.nextInt();
        double fahrenheit = (9/5) * celsius +32;

        System.out.println(fahrenheit);
        return fahrenheit;
    }
}

Когда я запускаю это, я получаю "sh-4.3$ java -Xmx128M -Xms16M HelloWorld"

Я использую компилятор и исполнитель Java codinggrounds, я бы хотел, чтобы он запрашивал число, а затем преобразовывал его в градусы Фаренгейта при вводе пользователем

-2
Shniper 8 Сен 2016 в 21:17

3 ответа

Лучший ответ

Вам нужно вызвать changeToFahrenheit из вашего основного метода, поэтому ваш код:

import java.util.Scanner;
public class HelloWorld{

     public static void main(String []args){
          changeToFahrenheit();
     }

    public static double changeToFahrenheit(){

        Scanner reader = new Scanner(System.in);
        System.out.println("Enter a number between 0-20: ");
        double celsius = reader.nextInt();
        double fahrenheit = (9/5) * celsius +32;

        System.out.println(fahrenheit);
        return fahrenheit;
    }
}

Чтобы использовать функцию, вы должны вызвать функцию (это похоже на эквивалент функции Main в C #). Кстати, вы не можете делать 9/5, так как целочисленное деление даст целое число, 1. Попробуйте 9.0/5.0 для вычисления.

2
Arnav Borborah 8 Сен 2016 в 18:35

Вы не вызываете метод changeToFahrenheit() из метода main(), поэтому он ничего не сделает и выйдет

3
Jigar Joshi 8 Сен 2016 в 18:19
  • Поскольку метод является статическим, вы можете вызвать метод без создания объекта.
  • reader.nextInt (); // Это возвращает целое число .. поэтому сохраните его в целочисленном.
  • вам не нужно возвращать значение, если у вас нет других методов, которые повторно используют это значение.
0
Raj Asapu 8 Сен 2016 в 18:29