スキャナが 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]
目的のためにそこにあるもの...