2013-05-25 3 views
-1

저는이 교수형 집행 프로그램을 코딩 해 왔으며 처음에는 사용자가 프로그램 시작을 위해 "start"를 입력해야합니다. 자, 제가 지금까지 가지고있는 것은 다음과 같습니다 :while식이있는 지침이 필요합니다.

package hangman; 

import java.util.Scanner; 

public class Main { 
    public static void main(String[] args) { 
     int start; 
     System.out.print("Welcome to Hangman!"); 
     System.out.println("Type start to begin!"); 
     Scanner myScanner = new Scanner(System.in); 
     start = myScanner.nextInt(); 
     while (

     } 
    } 
} 

그래서 제가 볼 수 있듯이, 나는 표현식에 집착하고 무엇을 넣을 지 모릅니다.

사용자 유형이 "start"와 같은지 확인하려고합니다. 또한 사용하는 올바른 진술 myScanner.next*Int*(); 성명을 사용하고 있습니까? (잘못된 용어를 사용하면 죄송합니다.)

단어가 없으므로 Int을 바꿔야합니까? 또한 while 루프에서 사용자가 입력 한 내용을 "start"(start = "start") 단어와 비교하려고 시도했지만 incompatible operand types int and String 오류 메시지가 표시되었습니다.
내가해야 할 일은 "start"라는 단어에 대한 문자열을 만들고 어떻게 든 표현에 넣는 것입니다.

누군가 나를 while 루프 식으로 만드는 방법을 안내해 줄 수 있다면 사용자가 입력 한 단어가 "시작"과 동일해야하고 .nextInt(); 문을 변경해야한다면 정말 고맙겠습니다. 여기

+0

코드에 최선의 노력을 기울여 – Bohemian

+0

죄송합니다. 귀하가 의미하신 것을 얻지 못했습니다. 음, while 표현식에 무엇을 넣어야할지 모르겠으므로 while (start == "start") 동안 시도 했으므로 start, 즉 사용자가 입력 한 단어가 " 시작 "하지만 호환되지 않는 피연산자 유형 인 int 및 String" "오류가 발생했습니다. 또한, myScanner.nextInt();를 사용하고 정수를 사용하지 않으면 "시작"이라는 단어가 정수가 아니므로 잘 모르겠다. 그래서 내가 무엇을 사용해야하는지 알 수 있습니까? 어떤 도움이라도 대단히 감사 할 것입니다. 다시 한 번 감사드립니다! – user2419553

답변

3

먼저, String"start"을 기대하고,이 변수의 유형은 String하지 int해야합니다 :

:

int start; 

다른 질문에 대해

String start; 

을해야한다

을 사용하고 있습니다. 0 문장을 사용할 올바른 문장?

번호 next() 여기에 사용되는 하나입니다 - 그것은 String로 입력 된 토큰을 반환합니다.

는이 같은 while 루프에서 next()을 넣어 : 유형이 지정된 값이 "start" (while (!"start".equals(start)) {)되지 않은 상태에서

package hangman; 

import java.util.Scanner; 

public class Main { 
    public static void main(String[] args) { 
     String start; 
     System.out.print("Welcome to Hangman!"); 
     System.out.println("Type start to begin!"); 
     Scanner myScanner = new Scanner(System.in); 
     start = myScanner.next(); 
     while (!"start".equals(start)) { 
      System.out.println("You must type start to begin!"); 
      start = myScanner.next(); 
     } 
     System.out.println("Thanks for typing start!"); 
    } 
} 

는 기본적으로이 토큰 ( start = myScanner.next();를) 읽는 계속됩니다.

코드를 실행하면 모든 것이 명확 해집니다.

+0

고마워요! 나는 그것을 시도하고 그것이 어떻게되는지 보게 될 것이다. :) – user2419553

+0

어땠어? 그걸 작동 시키려고 했나요? – acdcjunior

+0

예! 고맙습니다. – user2419553

1

당신이 찾고있는 무엇 :

public static void main(String[] args) { 
    String start; 
    System.out.print("Welcome to Hangman!"); 
    System.out.println("Type start to begin!"); 
    Scanner myScanner = new Scanner(System.in); 
    start = myScanner.nextLine(); 
    if (start.equals("start")) { 
     System.out.println("User said 'start'"); 
    } else { 
     System.out.println("This isn't 'start' :-("); 
    } 
} 

int

는 "정수"를 의미, 그것은 당신이 원하는 것은 String 인 숫자입니다. 따라서 nextInt()을 사용하지 말고 nextLine()을 사용해야합니다.

while()은 루프입니다. 표현식을 테스트하려는 경우 if()을 사용해야합니다.

String의 비교 방법은 equals(), 당신은 "start" 리터럴 문자열 (느릅 나무는 사용자가 입력 한 내용 포함) 귀하의 문자열 start을 비교하는 데 사용해야합니다.

else 코드 블록은 사용자가 "시작"을 입력하지 않았을 때를위한 것입니다.

모든
+0

감사합니다. 나는 이모티콘을 좋아합니다! ;) – user2419553

관련 문제