2013-12-19 11 views
1

Я все еще изучаю Java ....Требуется булевое, найдено int?

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

код:

public class exercise { 

    public static void main(String[] args){ 
     double x = 8.4; 
     double y = 4.2; 
     double z = (int)(x % y); 
     String result = (z>0) ? "not dividible" : "dividible"; 
     System.out.println("This operation is: " + result); 
     System.out.println("The result of dividing is: " + (x/y)); 


    } 



} 

Компилятор говорит по строке "Строка результата = (г> 0) .....?", Что требует логического, и что он нашел Int. Конечно, компиляция не удалась.

+5

Эта линия сделал * нет * сгенерируйте эту ошибку. У кода * есть * хотя бы одна другая ошибка (и это приведет к сообщению об ошибке * *), что заставляет меня подозревать, что это не настоящий * код. – user2864740

+3

Код работает отлично, за исключением того, что вы пропустили скобок в последнем заявлении sysout –

+0

Я добавил отсутствующий кронштейн, спасибо за подсказку. Но он все еще не компилируется ... Он указывает мне на (z> 0), говорит ';' ожидаемая ошибка. – jutreni

ответ

6

Вы пропустили последнюю закрывающую скобу ()) этого утверждения.

System.out.println("The result of dividing is: " + (x/y); 

Оно должно быть:

System.out.println("The result of dividing is: " + (x/y)); 
                 ↑ 

Все другие вещи компилирует для меня.

+0

Спасибо, @Maroun :) –

+2

Я влюбился в это ↑. Я беспорядочно редактирую сообщения и надеваю их, надеюсь, это будет иметь смысл. На этот раз это сработало. – Maroun

+1

Хотя это * * ошибка, это не имеет ничего общего с сообщенной ошибкой. – user2864740

2

Мой компилятор говорит, что вы не имеете последнюю скобку) в этой строке:

System.out.println("The result of dividing is: " + (x/y); 

Попробуйте это:

System.out.println("The result of dividing is: " + (x/y)); 

Он компилирует для меня.

1

Проблема возникает из-за ошибки синтаксиса, поскольку вы забыли последнюю закрывающую скобку() последней строки system.out.

System.out.println("The result of dividing is: " + (x/y); 

Должно быть:

System.out.println("The result of dividing is: " + (x/y)); 

Если решить эту проблему, то нет никаких проблем.

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