Разделение между float и int не будет компилироваться - PullRequest
0 голосов
/ 13 мая 2018

Прежде всего, я все еще довольно новичок в Java, поэтому извините, если решение является чем-то очевидным.

Я написал код, который должен делить каждое второе число в определенном диапазоне чисел (от -5 до 20 в этом примере) на число с плавающей запятой, но Java не будет компилироваться.

  public class exerciseD {
     static float Division (float r) {

      int n = (-5);
      float x = 0;

      if (n <= 20) {
       float x = n * r; 
       System.out.println(x);
       n = n + 2; 
      }
      else 
          return x;
  }
  public static void main(String[ ] args) {

      float y = Divison(22.5);
      System.out.println(y);

      }
  }

Сообщение об ошибке:

Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The method Divison(double) is undefined for the type exerciseD
at exerciseD.main(exerciseD.java:45)

Что я сделал не так в этом коде?Я просто не могу сказать, в чем проблема с двойным.Каждая переменная является либо float, либо int, не так ли?

Спасибо.

1 Ответ

0 голосов
/ 13 мая 2018

Ну, у вас есть несколько ошибок, первая из которых в операторе if вы определяете другую переменную X, которая уже определена выше. вторая ошибка - имя метода деление , а не деление

Третья ошибка, которую вы не можете передать в двоичную переменную как параметр, так как Вы назвали Division(22.5) это должно быть Деление (22,5F) , чтобы указать, что это число с плавающей точкой, иначе оно передаст его как двойное число, что будет несовместимыми типами. Возможное преобразование с потерями из двойного в плавающее

четвертая ошибка: вы пропустили оператор возврата метода Division в блоке if

...