2013-10-19 3 views
0

이미지 가시성을 위해 여러 조건을 추가하려고합니다."if"에 여러 조건 추가

나는 사람들이

경우 (뭔가)와이를 읽었습니다 || (다른 것) || (뭔가 더) // 뭔가해라

그러나, || 내 문장 사이에 "토큰 구문 오류, 잘못된 경우에만 동기화 됨"이 발생 함

이 문제에 대한 다른 해결책이 있습니까? 문제

코드 :

SharedPreferences pref = getSharedPreferences("ActivityPREF", 
    Context.MODE_PRIVATE); 
    int clicks = pref.getInt("Total_Clicks", 0); 

//add another SharedPreferences here 

    if (clicks < 25) || //add another statement here { 
     mImage.setVisibility(View.GONE); 
     subbtn.setVisibility(View.GONE); 
    if (clicks > 25) { 
     mImage.setVisibility(View.VISIBLE); 
     subbtn.setVisibility(View.VISIBLE); 
+0

방금 ​​||'에 대해 같은 괄호 – JRowan

+0

내부에 올바른 구문을 모두 수행해야하는 데 도움이 'if 문은'if (condition1 || condition2)'입니다. 모든 것을 둘러싼 괄호 집합이 있다는 것을 유의하십시오. – jonhopkins

+0

닫는 괄호'}'를 잊지 마라. –

답변

2

모든 조건이 귀하의 경우 문장의 괄호 안에 있어야합니다.

if (clicks < 25 || add another statement here) { 
    ... 
} 

필요한 경우 괄호를 중첩 할 수 있습니다.

if ((clicks < 25) || (add another statement here)) { 
    ... 
} 
+0

어리석은 짓하지 마 ... 도와 줘서 고마워! –

2

'if'문은 조건이 괄호 안에 있어야합니다. 따라서 다음과 같이 시도하십시오.

if (condition1 || condition2 || condition3) { 
} 
1

빌 도마뱀이 맞지만 좀 더 자세한 정보를 추가하겠습니다. 다음과 같이 말하십시오 :

if((x > y) || (x + y) && (x >= 1)) { 

// do stuff 

} 

Bill이 말했듯이, 괄호 안에 조건이 필요하므로 먼저 평가해야합니다. 둘째, 논리 연산자조차도 우선 순위가 있다는 것을 이해해야합니다. 순서는 간다 :

  1. !(not)
  2. &&(and)
  3. ||(or)

희망이

+0

실제로 내부 괄호를 가질 필요는 없지만 확실히 코드를 훨씬 명확하게 만듭니다. – chrylis

+0

무슨 소리 야? 내부 괄호가 있습니다. – Ducksauce88

+1

이 질문을 보는 것은 자바에 대한 질문입니다. 첫 번째와 마지막 표현식은 괄호가 필요하지 않으며,'(x> y) || (x + y) x + y'는 문제가되지 않습니다. 정수 값을 부울 값으로 변환 할 수 없으며 부울 값을 함께 더할 수 없기 때문에 어쨌든 뭘해도 오류가 발생하기 때문입니다. – jonhopkins