EclipseでJavaのプログラムが稼働させようとしたらエラーが出て、エラーが出ないようにしても何も処理が実行されない袋小路から救ってください


今、このコード https://gist.github.com/AuroraNorthernQuarter/59d38331c6f4ba180f93ceadb685ac8d を、実行してみたのですが。
---------------
エラー: メイン・メソッドがクラスtestprogramm.Kajikimagurokatsuで見つかりません。次のようにメイン・メソッドを定義してください。
public static void main(String[] args)
またはJavaFXアプリケーション・クラスはjavafx.application.Applicationを拡張する必要があります
---------------
というエラーが出てきてしまいます…。
このサイト http://www.artista.co.jp/article/13145122.html では、「これで例外が発生しても止まらないクラスが出来ました。」とあるのですが…。

エラーに従って、このようなコード https://gist.github.com/AuroraNorthernQuarter/b2c178de8576d1b41b8e223973ec3f7f に直してみました。
そうすると、コンソール上では何も表示されず…どうすれば正常なプログラムとして実行できるのか、お教えいただけないでしょうか。

よろしくお願い致します。

回答の条件
  • 1人10回まで
  • 登録:
  • 終了:2019/04/05 06:38:01
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:rsc96074 No.1

回答回数4503ベストアンサー獲得回数437

ポイント750pt

 こちらは参考になるでしょうか。mainを書いてないです。(^_^;

    public static void main(String[] args) {
        Kajikimagurokatsu ka = new Kajikimagurokatsu();
        ka.keyboardIn();
    } 
他2件のコメントを見る
id:rsc96074

 ハードウェアの故障とかプログラムのエラーとか想定外のエラーに対応しているのかな。
 エラーの発生させ方は、こちらにあるようです。
https://oshiete.goo.ne.jp/qa/1706712.html
 「str = br.readLine();」の前の行に、「System.in.close();」を書くと、いいようです。

2019/03/31 11:46:22
id:moon-fondu

rscさん返信遅くなりましてすみません、ありがとうございます!
例外の場合も記載しないといけないのですね。
確かに必要なのはtry~の中だけなのですが、それを残して他以外を消すと、Eclipse上でエラー表示が出てきてしまいます。

IOException例外についての参考リンクも勉強させていただきます。
また、

finally{
}
return str;
}

ではなく、

finally{
return str;
}

なのですね。確かに自分の中括弧の位置だとfinallyが機能しない?気がします。
System.in.close();も入れてみました。
実行すると、

--------------------
文字を入力してください。
例外java.io.IOException: Stream closedが発生しました
--------------------

と出てきました。
「("例外" + e + "が発生しました")」と対応して、e = java.io.IOException: Stream closed なのですね。
諸々お教えいただき、ありがとうございました。

に対応するため、例外を処理するためにtry~catch文やスロー宣言が必要ということですか…覚えておきます。

2019/04/05 05:48:46

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません