PRAIT
@PRAIT

Как привести целое число к типу double а затем разделить его?

Привет ребята. Есть задача написать простой калькулятор который считает два числа

package Dz;
import java.util.Scanner;
public class SimpleCalculator {
  public static void main(String[] args) {
    try(Scanner dev = new Scanner(System.in)) {
      int a, b, c, max, min;
      double e;
      System.out.println("Pleasee enter number A");
      a = dev.nextInt();
      System.out.println("Pleasee enter number B");
      b = dev.nextInt();
      System.out.println("a = "+a);
      System.out.println("b = "+b);
      c = a + b;
      System.out.println("a + b = "+c);
      c = a - b;
      System.out.println("a - b = "+c);
      c = a * b;
      System.out.println("a * b = " +c);
      c = a / b;
      System.out.println("a/b = " +e); // double
      e = a / b; //double
      System.out.println("a / b = " +c);
      c = a % b;
      System.out.println("a % b = " +c);
      c = a ^ b;
      System.out.println("a ^ b = " +c);
    }
  }
}


Вроде бы ничего сложного, только вот не могу привести тип double 21 - 22 строка в коде. Компилятор ругается, может кто подскажет в чем дело? Спасибо!
  • Вопрос задан
  • 72 просмотра
Решения вопроса 1
@frozen_coder
Java-developer
System.out.println("a/b = " +e); // double

Вы пытаетесь вывести неинициализированную переменную, на что вам компилятор английским языком это говорить должен. Читайте его сообщения. Сначала выводите с, а потом e.
Если вы хотите получить результат деления с дробной частью, то вам надо явно привести один из аргументов при делении к double. Например,
e = (double) a / b;
Результат деления int на int будет int, а это значит, что дробная часть будет просто отброшена даже без округления. Поэтому даже если вы сохраняете результат такого деления в double, то в дробной части получите 0. Если же один из аргументов при делении double, то результат будет double с дробной частью.

P.S. Пожалуйста, возьмите любой учебник по java и прочитайте его. Читайте, что вам пишет компилятор. Следуя этим двум простым советам, количество вопросов будет сведено к минимуму.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Dremuk
@Dremuk
А почему там e, а не c?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы