PRAIT
@PRAIT

Как привести целое число к типу double в условном операторе?

Привет ребята! Я уже задавал подобный вопрос в этой ветке Как привести целое число к типу double а затем раз...
Но как сделать тоже самое в таком вот примере:

package Tu;

import java.util.Scanner;

public class ComplexCalculator {

  public static void main(String[] args) {
    try (Scanner dev = new Scanner(System.in)) {
      int a, b, result = 1;
      char ch;
      System.out.println("Plese enter operator {+, -, *, /, %, ^, !, v, 2, 3}");
      ch = dev.nextLine().charAt(0);
      if (ch == '!') {
        System.out.println("Please enter A");
        a = dev.nextInt();
        for (int i = 1; i <= a; i++) {
          result = result * i;
        }
        System.out.println("a! = " + (result));
      } else if (ch == 'v') {
        System.out.println("Please enter A");
        
      }
    }
  }
}


Это калькулятор который считает факториал числа и квадратный корень.
У меня есть переменная типа Int (a) есть ли возможность привести его к типу double и вычислить квадратный корень в условии?
else if (ch == 'v') {
        System.out.println("Please enter A");

Ведь сейчас нужно что что бы пользователь ввёл число и нужно что бы это число из int перешло в double.
Я могу сделать так:
else if (ch == 'v') {
        System.out.println("Please enter A");
        a = dev.nextInt();

Но ведь нужен тип double? Подскажите пожалуйста как его перевести в условии? Или все таки нужно объявлять новую переменную в таком случае? Спасибо!!!
  • Вопрос задан
  • 124 просмотра
Решения вопроса 1
GavriKos
@GavriKos
А зачем вам объявлять переменную a вне if-ов? Объявляйте внутри, в случае факториала интом, в случае корня - даблом. И читайте ввод соответственно.

Если уж так нужна снаружи - то вам надо ее объявлять максимально допустимым типом для всех операций - т.е. даблом, а уже в частных случаях (факториал) - приводить к инту (с проверкой, а вдруг там все таки не целое).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы