2014-11-10 3 views
0

Я работаю с Java в течение очень короткого времени, поэтому, пожалуйста, будьте терпеливы со мной. Я работаю над программой для ВВЕДЕНИЯ в класс java, и мне нужно создать простой калькулятор (без GUI) без использования исключений, но он все еще фиксирует ошибки ввода. Я смог справиться с обработчиком исключений без проблем, но этот человек заставляет меня бонкеров! Мне нужна альтернатива заявление «если (а == символ || б == голец)» Вот то, что я до сих пор:Выполнение целочисленной проверки без использования исключений

import java.util.*; 

public class calculator_No_Event { 

public static void main(String[] args) 
{ 
    // TODO Auto-generated method stub 
    int a,b,c; 
    char d; 
    boolean e; 
    Scanner input=new Scanner(System.in); 

    try 
    { 
     System.out.print(" Enter the first number: "); 
     a=input.nextInt(); 
     System.out.print("Enter the second number: "); 
     b=input.nextInt(); 
     System.out.print("Enter + or - :"); 
     String f=input.next(); 
     d=f.charAt(0); 


     if (a==char || b==char) 
     { 
      System.out.println("Error"); 
     } 
     else 
     { 
      switch(d) 
      { 
       case '+': 
        c =a+b; 
        System.out.print(a + "+" + b + "=" + c); 
        break; 
       case '-': 
        c =a-b; 
        System.out.print(a + "-" + b + "=" + c); 
        break; 
      } 
     } 
} 
    finally 
    { 
     System.out.println("Thank you."); 
    } 
} 

}

+0

Ваш код даже не компилируется; сделайте предварительное усилие, чтобы он не скомпилировался. Пройдя это усилие и прочитав соответствующую документацию, вы узнаете многое на этом пути. – fge

+0

ну, конечно, он не компилируется, вот в чем проблема. Моя проблема заключается в утверждении «if (a = char || b = char)», это утверждение не работает. программа компилируется без инструкции if. То, что я ищу, является альтернативой этому утверждению. Извиняюсь, если моя проблема не ясна. –

ответ

0

Вы показываете много недопонимания с этой одной линии

if (a = char || b = char) 
  1. Я предполагаю, что вы имеете в виду использовать оператор equal to, а не assignment оператора == instead of =

  2. a и b (и c) являются int s, как указано в main. Поэтому мы знаем, что они никогда не будут char s, если вы не преобразуете их в символы, но тогда они всегда будут символами. int и char - это разные типы, а символ 1 может быть либо типом - так что старайтесь делать это, так как вы просто не будете работать.

  3. Поиск Google для проверки, если строка номер возвращается Determine if a String is an Integer in Java, однако, в этом случае @ElliottFrisch's answer является метод, который вы, вероятно, хотите использовать. Изучение вопроса о Documentation всякий раз, когда вы используете новый класс Java (, например Scanner), очень ценно и может привести к значительному пониманию и изучению классов, которые вы используете.

+0

поэтому, если пользователь вводит письмо вместо номера, это поймает его? –

+0

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

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