-1

それで、私はこの絞首刑執行人プログラムをコーディングしてきましたが、最初は、ユーザーがプログラムを開始するために「開始」と入力する必要があることを望んでいます。だから、ここに私がこれまで持っているものがあります:

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 (

        }
    }
}

というわけで、ご覧のとおり、while 式に行き詰まってしまい、何を入れればよいのかわかりません。

ユーザーが入力したものが「開始」という単語と一致することを確認しようとしています。また、使用するmyScanner.next*Int*();ステートメントは正しいステートメントですか? (間違った用語を使用していたらすみません)

Intそれとも、単語なので別のものに置き換える必要がありますか? また、whileループで、ユーザーが入力した内容を単語 "start" と比較しようとしまし(start = "start")たが、incompatible operand types int and Stringエラー メッセージが表示されました。
私がしなければならないと思うのは、「開始」という単語の文字列を作成し、どういうわけかそれを式に入れることですか?

誰かがwhileループ式を作成する方法を教えてくれたら、ユーザーが入力したものが「開始」という単語と同じであることを確認して.nextInt();ください。ステートメントを変更する必要がある場合は、本当に感謝しています。

4

2 に答える 2

3

まず第一に、あなたが予想しているようにString "start"、この変数の型はStringではなく でなければなりませんint:

int start;

する必要があります

String start;

他の質問について:

myScanner.next*Int*();ステートメントの使用は正しいステートメントですか?

No.next()はここで使用するものです。型指定されたトークンを として返しますString

next()を次のようにwhileループに入れます。

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();) を読み取り続けますが、入力された値は"start"( while (!"start".equals(start)) {) ではありません。

コードを実行すると、うまくいけばすべてが明確になります。

于 2013-05-25T04:39:50.613 に答える
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(), butを使用しないでくださいnextLine()

while ()はループです。式をテストするだけの場合は、 を使用する必要がありますif ()

の比較メソッドは でStringありequals()、それを使用して文字列start(ユーザーが入力したものを含む) を文字列 リテラル と比較する必要があります"start"

elseコード ブロックは、ユーザーが「開始」ではなく、別の何かを入力した場合のためにここにあります。

于 2013-05-25T04:39:08.867 に答える