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 строка в коде. Компилятор ругается, может кто подскажет в чем дело? Спасибо!
  • Вопрос задан
  • 56 просмотров
Решения вопроса 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?
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
МойСклад Москва
от 140 000 до 200 000 руб.
от 70 000 до 130 000 руб.
ГРАН Software Москва
от 70 000 руб.
22 июл. 2019, в 18:33
200 руб./за проект
22 июл. 2019, в 18:28
10000 руб./за проект