2013-10-09 3 views
-3

jsp에서 String ("AA, BB, CC") 및 사용자 "AA"및 "BB"를 선택했습니다. 지금 내가 추가 한 이래 두 값을 얻을 수 있습니다 여기에 조건이있는 경우자바를 사용하여 모든 문자열 값을 가져 오는 방법

코드 :

String UserSeclected="AA,BB,CC"; 

if(userSelectedValues.contains("AA")) {   
    //some code here 
}else if(userSelectedValues.contains("BB")) {  
    //some code here 
}else if(userSelectedValues.contains("CC")) { 
    //some code here 
} 

때문에 다른 조건이 내가 단일 값을 얻고있다합니다. 그렇다면 사용자가 AA 값과 BB 값을 모두 얻는 방법은?

+2

AA와 BB가 모두 포함되어 있는지 확인하지 않는 이유는 무엇입니까? –

+6

else를 제거하고'if (userSelectedValues.contains (...)) '로 모든 것을 수행하십시오. – A4L

답변

1

그냥 수행

if(userSelectedValues.contains("AA")) {   
//some code here 
} 
if(userSelectedValues.contains("BB")) {  
//some code here 
} 
if(userSelectedValues.contains("CC")) { 
//some code here 
} 

이후 다른-경우 하나 개의 조건이 true를 돌려주는 경우 문을 휴식.

1

이 논리는 다양한 조건을 확인하도록 확장됩니다 때 if...else

을 피하려고, 우리가 확인 또는 검증 된 것을 조건 기억하기 어려워진다. 좋은 및 권장 솔루션의

하나는이 도움이

public returnType someMethod(){ 
    if(conditionA){ // do some operation; return; } 
    if(conditionB){ // do some operation; return; } 
    if(conditionC){ // do some operation; return; } 
    ................... 
    ................... 

    return default_values; 

} 

희망하는 것입니다.

1
String UserSeclected="AA,BB,CC"; 

if(userSelectedValues.contains("AA")) {   
    //some code here 
} 
if(userSelectedValues.contains("BB")) {  
    //some code here 
} 
if(userSelectedValues.contains("CC")) { 
    //some code here 
} 

기타를 사용하는 이유는 무엇입니까?

0

몇 가지 샘플 코드를 알려 드리겠습니다. 간단한 수정으로 귀하의 요구 사항을 달성 할 수 있습니다.

String UserSeclected="AA,BB,CC"; 
String[]arr=UserSeclected.split(","); 
int length=arr.length; 
for(int i=0;i<length;i++) 
{ 
    System.out.println(arr[i]); 
} 
+0

OP 문제를 어떻게 해결합니까? 이런 식으로 그는'contains' 대신'equals'을 사용해야 만합니다. 그러나 논리에 대한 문제는 해결되지 않습니다. – Pshemo

+0

예, @Pshemo가 옳다고 말한 내용은 무엇입니까? 각 반복에서 확인할 다른 응답에 설명 된 일련의'if' 문을 수행해야합니다. 어쩌면 배열의 위치가 중요하지 않다면 이런 식으로하는 것이 유익한 지 확신 할 수 없습니다. –

관련 문제