2016-07-16 1 views
0

저는 Java로 코드를 작성하고 있으며 사용자가 원하는 Dungeons 및 Dragons의 클래스를 묻는 간단한 프로그램을 작성하고 있습니다. 그 데이터를받은 후에는 입력 된 클래스를 기반으로 무기 목록을 가져 오는 다음 질문을 원합니다."또는"if ... then 문 내의 다양한 문자열 조건 "

내 문제는 "인사, 영웅 ..."이라는 첫 번째 질문에 있습니다. 사용자가 잘못된 클래스를 입력하면 적절한 클래스를 선택해야한다는 메시지가 나타나기를 원하는데, 그런 다음 다른 클래스 목록이 사용자에게 표시됩니다. "if..then"문을 올바르게 작성하는 방법을 모르겠습니다.

이 프로그램은 불완전하며 내가 붙어 있던 부분에서 중단되었습니다.

import java.util.Scanner; 

public class apples { 
    public static void main(String[] args) { 

     Scanner uinput = new Scanner(System.in); 
     String firstclass, secondclass, multiclass, rogue, bard, fighter, wizard, sorcerer, monk, paladin, cleric, warlock, ranger; 
     int dagger, shortsword, mace; 

     System.out.println("Greetings hero, what profession do others call you?"); 
     firstclass = uinput.next(); 
     if(firstclass.equalsIgnoreCase("rogue") || ("bard") || "fighter" || "wizard" || "sorcerer" || "monk" || "paladin" || "cleric" || "warlock" || "ranger")); 

     System.out.println("Aha! So we have a " +firstclass + " in our party!"); 
    } 
} 
+1

이것은 올바른 방법이 아닙니다. 각 문자열에 대해'firstclass.equalsIgnoreCase'를 반복하거나'switch'를 사용하거나 - 바람직하게 -'Set '을 사용하고 포함 여부를 테스트하십시오. – Elazar

+0

''전투기'',''마법사 ''등은 부울 표현식이 아닙니다. 여러 조건을 평가하는 좋은 방법은 [이 질문] (http://stackoverflow.com/questions/7604814/best-way-to-format-multiple-or-conditions-in-an-if-statement-java)을 참조하십시오. – azurefrog

+0

감사합니다. 나는이 말에 전혀 새삼스럽고 온라인에서 찾은 정보원을 통해 자신을 가르치고 있습니다. 나는 도움을 바란다 : –

답변

0

이 다른 사람들이 지적한 것처럼, 당신은 아마 그래서 당신은 쉽게 입력이 있는지 여부를 테스트 할 수있는 Set<String>으로 모든 "알려진"클래스를 넣어 할 것입니다하지만, 코드를 작성하는 가장 간단한 방법입니다 설정에서 모든 유효한 옵션을 쉽게 인쇄 할 수 있습니다.

if(firstclass.equalsIgnoreCase("rogue") || firstclass.equalsIgnoreCase("bard") || firstclass.equalsIgnoreCase("fighter") || firstclass.equalsIgnoreCase("wizard") || firstclass.equalsIgnoreCase("sorcerer") || firstclass.equalsIgnoreCase("monk") || firstclass.equalsIgnoreCase("paladin") || firstclass.equalsIgnoreCase("cleric") || firstclass.equalsIgnoreCase("warlock") || firstclass.equalsIgnoreCase("ranger")) { 
    System.out.println("Aha! So we have a " + firstclass + " in our party!"); 
} else { 
    System.out.println("I don't know what a " + firstclass + " is."); 
} 
+0

이것은 대단하다! 정말 고맙습니다. 나는 그런 기본적인 질문을하는 것에 대해 부끄럽지 만, 나는 온라인에서 찾던 무엇이든간에 스스로 java를 가르치고있다. 귀하의 도움을 크게 주시면 감사하겠습니다. –