2011-05-02 3 views
0

프로그래밍 수업을 듣고 있고 프로그램과 같은 채팅 봇을 만들기 시작했습니다. "나는 너에게 가르쳐주고 싶다."라고 말하면 한 가지 (적어도) 가르 칠 수 있기 위해 노력했다.if 문에 조건부 문자열을 만들려면 어떻게해야합니까? (비슷한 질문에 대한 답변은 효과가 없습니다.)

else if(text.equalsIgnoreCase(learn1)) 
    { 
     JOptionPane.showMessageDialog(null, learn1Reply); 
    } 

내가 읽은 : 나는 그것이 나중에 입력 초래 문이 있다면 만드는 방법을 알고하지 않습니다

String name = JOptionPane.showInputDialog("What word or phrase would you like to teach me to respond to?") 
learn1Reply= JOptionPane.showInputDialog("So now, what do you want me to say when you type, '" + learn1 + "' in?");; 

: 내가 사용하는 경우

는 지금 만 작동 조건부 변수를 만드는 것에 대한이 사이트에 대한 답변이 많지만 도움이되지 못했습니다.

내가 알지 못하는 훨씬 쉬운 방법이 있다고 확신합니다.

+0

코드의 문장 부호에주의하고 올바르게 읽으려면 Markdown을 사용하는 방법을 알아 보려면 FAQ를 읽어보십시오. – pavium

답변

0

코드의 논리와 별도로 데이터를 저장하는 것이 좋습니다. 예를 들어 (I 때문에 귀하의 예제의 자바를 가정하는거야,하지만 난 제네릭 물건이 잘못된 경우 자바 사람이 그렇게 저를 용서해 정말 아니에요) :

HashMap responses = new HashMap<string, string>(); 

그리고 단순히지도에 추가 응답 입력됩니다.

responses.put("something", "response text"); 

또는 귀하의 경우

: 적절한 응답을 표시 할 때

responses.put(learn1, learn1Reply); // After you get the input 

, 단순히 오히려 일부 대형 경우 - 다른 나무를 사용하는 것보다, 그것을 얻을. (그들은 성장 그들은 읽고 유지하기 어려운 얻을.)

그래서보다는

... else if(text.equalsIgnoreCase(learn1)){ 
    JOptionPane.showMessageDialog(null, learn1Reply); 
} 

당신은 조회 자체를 할 간단하게 할 수 있습니다.

JOptionPane.showMessageDialog(null, responses.get(learn1);