2013-02-13 10 views
-1

저는 처음 자바 코스에 있는데, if/if else 문을 사용하지 않고 검사하려고하는 조건문이 있습니다. 빈 텍스트 필드를 확인하기 위해 작성했지만 제대로 작동하지 않습니다. 여기에 내가 작성한 코드 사본이 있습니다. 아무도 저에게 무엇이 잘못 됐는지 말해 줄 수 있습니까?자바 조건문 검사

String nameCheck = (nameField.getText() == "")? "Please enter a name" : "Hello, " + nameField.getText(); 
+0

또 다른 방법으로'String # isEmpty'를 생각해보십시오 – MadProgrammer

답변

1

당신은 ") (등호"두 문자열이 동일한 개체 경우 두 배는 반면, 운영자 확인 동일

nameField.getText() == "" 

nameField.getText().equals(""); 

로 교체 할 수 있습니다 메서드는 문자열에 같은 값이 있는지 검사합니다.

+0

이것이 효과가 있고 실제로 그렇게한다는 것에 동의하지만 (클래스) 아직 이것을 다루지 않았으며 선생님은 코드/문장/구문을 사용하여 조금 싫어합니다. 우리는 보상하지 않았습니다. – user2067237

+0

@ user2067237 나는 "공정하다"교사가 평등을 뒤덮었습니다. 그러나 그렇지 않다면, 그것에 대해 배우고 어쨌든 사용해야합니다. '=='는 항상 프리미티브가 아닌 값의 동일성에 대해 * 틀린 *입니다. (그리고 이것은 엄청난 경고로 표시되지 않는 수치스러운 일입니다.) –

+0

LOL, 그녀는 그것을 덮었을 것입니다. 전 강의 부분에 약간의 구역을 만들었습니다. – user2067237

0
String nameCheck = (nameField.getText().equals(""))? "Please enter a name" : "Hello, " + nameField.getText(); 
1

더 좋은 방법이 될 수있다 :

String nameCheck = (nameField.getText().trim().length() == 0)? "Please enter a name" : "Hello, " + nameField.getText(); 

이 문자열이 비어 있거나 화이트 공간이 가득 있는지 확인합니다.