2013-10-26 4 views
0

Создать Java программу, которая будет выполнять следующие функции:английский язык калькулятор [Java]

а) Прочитайте три входа с клавиатуры,

• два входных номеров, каждый из которых одна цифра (0 ... 9)

• один символ, представляющий одну из пяти операций: + (сложение), - (вычитание), * (умножение),/(деление), и^(возведение в степень)

б) выход описание операции на простом английском языке, а также числовые результаты

import java.util.Scanner; 

public class EnglishCalc { 

     public static void main(String[] args) 
     { 
      Scanner input = new Scanner(System.in); 

      System.out.println("Enter first number"); 
      int number1 = input.nextInt();   

      System.out.println("Enter second number"); 
      int number2 = input.nextInt(); 

      System.out.println("Enter operation: +,-,*,/,^"); 
      String operation = input.next(); 

      int output = 0; 

      if(number1 < 0 || number1 > 9 || number2 < 0 || number2 > 9) { 
       System.out.println("Number should be between 0 and 10"); 
      } 
       else if (operation.equals("+")) 
      { 
       output = number1 + number2; 
       System.out.println("Sum of "+number1+" and "+number2+" is: " +output); 
      } 
       else if (operation.equals("-")) 
      { 
       output = number1 - number2; 
       System.out.println("Subtraction of "+number2+" from "+number1+" is: " +output); 
      } 
       else if (operation.equals("*")) 
      { 
       output = number1 * number2; 
       System.out.println("Product of "+number1+" and "+number2+" is: " +output); 
      } 
       else if (operation.equals("/")) 
      { 
       if(number2 == 0) { 
        System.out.println("You cannot divide by 0"); 
       } else { 
       output = number1/number2; 
       System.out.println("Division of "+number1+" by "+number2+" is: " +output); 
       } 
      } 
       else if(operation.equals('^')) 
      { 
       output = Math.pow((double)number1 , (double)number2); 
       System.out.println("Value of "+num1+" raised to power of "+num2+" is: " +output); 
      } else { 
       System.out.println("Invalid input"); 
      } 
    } 
} 

для pow. Я попробовал кастинг, не работаю. и если я не брошу, он не примет int. должно быть двойным.

+1

возможного дубликата [Как я сравниваю строки в Java?] (http://stackoverflow.com/questions/513832/how-do-compare-strings-in-java) – Makoto

+0

@Sam Не могли бы вы изменить вопрос, чтобы включить старый код? Если вы отправляете вопрос, то исправьте код в нем на основе ответа, он аннулирует все ответы, связанные с этой ошибкой. (Я сам откатился, но пересмотр смешался с некоторыми другими вещами.) –

ответ

3

Использование

s1.equals(s2) 

для сравнения строк, вместо использования:

s1 == s2 

Это происходит потому, что == используется для сравнения ссылки на объект (если это тот же объект), так что Безразлично» t сравнить «содержать» этого объекта, в данном случае строку.

Редактировать

Для печати каждого номера в 'словах', вы можете использовать массив:

String[] numbers = {"zero", "one", "two", ... }; 

, а затем использовать их в качестве:

System.out.println(numbers[2] + " plus " + numbers[5] + ...); 
+0

Спасибо! Такая глупая ошибка, совершенная мною; другой вопрос, как я могу заставить его печатать цифры в словах. например 5 * 3 = Он должен печатать «пять умноженных на 3 равно 15.» – Sam

+0

Используйте массив, см. Редактирование. – Christian

+0

не может использовать массивы здесь. проф. попросил нас сделать это по-другому. – Sam

Смежные вопросы