2013-12-09 2 views
0

, поэтому я просто играю с некоторыми вещами, которые я узнал, делая какой-то бессмысленный калькулятор. Прежде чем кто-нибудь скажет, я знаю, что это можно сделать гораздо проще!«первый тип int, второй тип boolean» java

Я получаю эту ошибку, хотя в моем заявлении в то время как (плохие типы операндов для бинарного оператора «||» первого типа: Int, второй тип: логический ")

это также бросание проблемы с

int AA = A + B; 
int AB = A * B; 
int AC = A/B; 

говоря не может найти символ

class cases{ //1-4 sums with cases, delete after// 
    public static void main(String args[]){ 

    System.out.println("Welcome to a pointless calculator."); 

     int A = Integer.parseInt(args[0]); 
     int B = Integer.parseInt(args[1]); 
     switch (A){ 
     case 1: 
      System.out.print("You entered 1"); 
      break; 
     case 2: 
      System.out.print("You entered 2"); 
      break; 
     case 3: 
      System.out.print("You entered 3"); 
     break; 
     case 4: 
      System.out.print("You entered 4"); 
     } 
     while (A || B > 4){ 
     System.out.print("please enter numbers 1-4"); 
     break; 


     } 
     switch (B) { 
     case 1: 
      System.out.println(" and 1"); 
      break; 
     case 2: 
      System.out.println(" and 2"); 
      break; 
     case 3: 
      System.out.println(" and 3"); 
     break; 
     case 4: 
      System.out.println(" and 4"); 
     } 

     } 
     { 

     int AA = A + B; 
     int AB = A * B; 
     int AC = A/B; 


     System.out.print("the answers added = "); 
     System.out.println(AA); 
     System.out.print("the answers multipled = "); 
     System.out.println(AB); 
     System.out.print("the answers divided = "); 
     System.out.println(AC); 



     } 
     } 

ответ

3

Проблема здесь:.

while (A || B > 4){ 

Это выражение ломается, как это:

while (
    A 
    || 
    B > 4 
){ 

A имеет тип int, но вы рассматривая его как boolean. Вы не можете сделать это на Java. Вы можете иметь в виду:

while (A > 4 || B > 4){ 

Там вполне могут быть дальнейшие проблемы в коде. Например, у вас есть блок, который не связан ни с чем в конце вашего кода. I думаю, в Java, который в конечном итоге является блок инициализатора экземпляра, но, откровенно говоря, я думаю, вам нужно отступить и работать через некоторые учебные пособия.

+0

спасибо - дополнительная проблема, возникающая у меня сейчас, заключается в том, что она печатает out.prints в конце независимо от действительных записей arg. – user2992500

2

Условное выражение внутри while должно быть разрешено для boolean. Два операнда оператора || должны оценивать значения boolean. См. here.

Этот

while (A || B > 4){ 

не синтаксически корректен.

Кроме того, на данный момент в коде

... 
    } 
    { 

    int AA = A + B; 
    int AB = A * B; 
    int AC = A/B; 


    System.out.print("the answers added = "); 
    System.out.println(AA); 
    System.out.print("the answers multipled = "); 
    System.out.println(AB); 
    System.out.print("the answers divided = "); 
    System.out.println(AC); 



    } 
    } 

Вы закрываете свой main метод блока и запуск инициализатор экземпляра. На данный момент A и B больше не занимают.

Если вы правильно отделите свои скобки, вы увидите, где заканчиваются ваши блоки.

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