Javaを勉強中の者です。得点によってメッセージの内容を変える方法 https://joyplot.com/documents/2017/03/18/java-if-condition/ を自分でも試したいと思い、以下のコードをEclipseで入れました。
------------------------------
package package testprogramm;
public class Sample {
public static void main(String args[]) {
System.out.print("得点を入力してください: ");
Scanner scan = new testprogramme(System.in);
// キーボードから整数の入力を受け取る
int score = scan.nextInt();
// キーボードからの入力を終了する
scan.close();
// 60点未満と60点以上で処理を分ける
if (score >= 60) {
System.out.println("おめでとう! 合格です");
} else {
System.out.println("残念。不合格です");
}
}
}
------------------------------
すると「 Scanner scan = new testprogramme(System.in);」のところでエラーが出まして。
それでも実行しますと、
------------------
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
Scanner を型に解決できません
コンストラクター testprogramme(InputStream) は未定義です
at testprogramm.Sample.main(Sample.java:7)
------------------
というエラー文が出てきてしまいました。
このエラーが出てしまう原因と、どこをどう修正すると正しくプログラムが動くか、お教えいただけないでしょうか。
よろしくお願い致します。
Scanner scan = new testprogramme(System.in);
↑は、こうです。
Scanner scan = new Scanner(System.in);
もし、質問にあるコードが全てのコードだとしたら、以下も必要です。
import java.util.Scanner;
Scanner scan = new testprogramme(System.in);
↑は、こうです。
Scanner scan = new Scanner(System.in);
もし、質問にあるコードが全てのコードだとしたら、以下も必要です。
import java.util.Scanner;
こんな感じでどうでしょう。
package package testprogramm; import java.util.Scanner; public class Sample { public static void main(String args[]) { Scanner scan = new Scanner(System.in); while (true) { System.out.print("得点を入力してください: "); // キーボードから整数の入力を受け取る int score = scan.nextInt(); if (score > 100) { System.out.println("点数が範囲外です。得点を再度入力してください"); } else if (score >= 60) { System.out.println("おめでとう! 合格です"); } else if (score < 0) { break; } else { System.out.println("残念。不合格です"); } } // キーボードからの入力を終了する scan.close(); } }
Scanner では、ESCキーを取れないので、負の値を入れたら while を脱出するように書いてます。
ありがとうございます!うまくいきました♪
Scanner scan = new testprogramme(System.in);
は、
Scanner scan = new Scanner(System.in);
の間違いでは?
あと、コメントにあるように
一番上の
import java.util.Scanner;
を付けたほうが良いのでは?
■
Scanner (Java Platform SE 8 )
https://docs.oracle.com/javase/jp/8/docs/api/java/util/Scanner.html
System (Java Platform SE 8 )
https://docs.oracle.com/javase/jp/8/docs/api/java/lang/System.html
ありがとうございます、リンク先も確認して勉強します!
こんな感じでどうでしょう。
Scanner では、ESCキーを取れないので、負の値を入れたら while を脱出するように書いてます。
2018/10/17 18:09:09ありがとうございます!うまくいきました♪
2018/10/18 20:40:26