0

「if」ステートメントでは、数字のみを入れることができます。文字を読めるようにする方法はありますか?私はまだ Java の 5 番目のレッスンを受講しています (私は大学で勉強していて、先生はとても遅いですが、早く学びたいです)

例えば。

import java.util.Scanner;
public class Java {
    public static void main (String [] args) {

        Scanner scan = new Scanner(System.in);
        int answer1;
        System.out.println("Do you like Java?");
        answer1 = scan.nextInt();
        if (answer1 == yes)
        System.out.println("Cool ~");
        else
        System.out.println("Ehh...");
    }
}

数字の 5 の代わりに「はい」を入力したいので、ユーザーが「はい」と入力すると、「正しい」と出力されます。

PS検索エンジンでそれに対する明確な答えが見つかりませんでした。私はそれに対する明確な答えを見つけようとしているので、重複したスレッドではありません。それについての詳細な説明が必要です。私はまだ初心者です。これらの「ハイテク Java 用語」を使用しても役に立ちません。

4

2 に答える 2

2

Stringスキャナが の代わりにを読み取るように、プログラムを変更する必要がありますint。次のように実行できます。

import java.util.Scanner;
public class Java {
    public static void main (String [] args) {

        Scanner scan = new Scanner(System.in);
        String answer1;
        System.out.println("Do you like Java?");
        answer1 = scan.next();
        if (answer1.equals("yes"))
        System.out.println("Cool ~");
        else
        System.out.println("Ehh...");
    }
}

next()必要な単語 (トークン) は 1 つだけなので、これを使用しましたが、文字列を読み取るための他のオプションがあることに注意してください。

また、条件のテストを変更したことにも注意してくださいStrings の比較の詳細については、この回答をString参照してください。

于 2013-04-28T13:32:48.207 に答える
1

スキャナが int ではなく String を読み取るように、プログラムを変更する必要があります。次のように実行できます。

java.util.Scanner をインポートします。public class Java { public static void main (String [] args) {

    Scanner scan = new Scanner(System.in);
    String answer1;
    System.out.println("Do you like Java?");
    answer1 = scan.next();
    if (answer1.equals("yes"))
    System.out.println("Cool ~");
    else
    System.out.println("Ehh...");
} }

必要な単語 (トークン) は 1 つだけなので、これには next() を使用しましたが、文字列を読み取るための他のオプションがあることに注意してください。

条件が文字列になったため、条件のテストを変更したことにも注意してください。文字列の比較の詳細については、この回答を参照してください。

では、プログラムに単語と数字の両方を読み取らせたい場合はどうすればよいでしょうか: これが私のプログラムです (完全なものを見ると、より詳細になります)。プログラム...

public static void Gdr1() {
        try {
            System.out.print("[Code: Gdr1]  Grade 1: %");
            Scanner gdr1 = new Scanner(System.in);
            Z = gdr1.next();
            Z = Double.toString(Grd1);
            Grd1 = Double.parseDouble(Z);
            if ((Grd1<100)&&(Grd1>=5)) {
                Gdr2();
            } else if ((Grd1>=100)&&(Grd1<125)) {
                System.out.println("    System> Great Job "+Stu+"!");
                Gdr2();
            } else if (Grd1<5) {
                System.out.println("I'm sorry, the lowest grade I am allowed to compute is 5...");
                Gdr1();
            } else if (Z.equalsIgnoreCase("restart")) {
                restart01();
            } else {
                System.out.println("("+Z+") cannot be resolved in my system...");
                Gdr1();
            }
        } catch (Exception e) {}
    }

エンドユーザーの入力 = の場合を除いて、プログラム内のすべてが機能するように"restart"なりました。プログラム内のコードの一部が複雑に見えることはわかっていますが、機能します (ほとんど)。 2017 年 1 月 25 日 @ 午後 11 時 59 分までに、私の学校でポートフォリオを提出してください。

Z(定数文字列)、""+Stu+""(変数入力)、[Code: Gdr1]目的のためにそこにあるもの...

于 2017-01-06T13:02:50.943 に答える