2013-12-19 3 views
1

아직 자바를 배우고 있습니다 ....필수 부울, 발견 된 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)); 


    } 



} 

컴파일러가 줄을 말한다 "문자열 결과 = (Z> 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)); 
                 ↑ 

다른 모든 물건을 나를 위해 컴파일합니다.

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

이 시도 :

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

그것은 나를 위해 컴파일

+0

고마워요, @ 마룬 :) –

+2

↑ 그걸 좋아합니다. 무작위로 게시물을 편집하고 거기에 넣어두면 좋겠다. 이번에는 효과가있었습니다. – Maroun

+1

이것은 * an * 오류이지만보고 된 오류와 아무 관련이 없습니다. – user2864740

2

내 컴파일러는이 라인에서) 마지막 괄호를 해달라고 말한다.

1

마지막 system.out 행의 마지막 닫기 괄호()를 잊었 기 때문에 문제가 발생합니다.

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

을해야합니다 당신은이 문제를 해결하는 경우

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

, 그럼 아무 문제가 없다.