前提・実現したいこと
実現したいこと:下記に発生しているエラーを取りたいです。
Java初心者です。
「スッキリわかる Java入門」を使って、開発環境Eclipseで下記のコードを作成しています。
(※)2017/4/2に「java_rookie」さんが類似の質問をされていますが、今回は少し異なっていて開発環境eclipseを使って開発していたら、下記のエラーが発生しました。
【フォルダ名】
Sample1
【下記の2つのクラスが入っているパッケージ】
デフォルトパッケージ
【クラス】
・Mainクラス
・Heroクラス
(やっていること)
■MainクラスとHeroクラスを作成します。
■Heroクラスには、操作メソッド(⇓)を定義しています。
①座る(sitメソッド)、②転ぶ(slipメソッド)、③逃げる(runメソッド)
■Mainクラスには、Heroインスタンスを生成し、勇者(Hero)の名前(=コウタ)とLifePoint(=100)と設定します。
そして、Heroクラスから操作メソッドを呼び出し、コンパイラで出力しようとしています。
両クラスとも、ソースに不備がないこと(波線や×マーク)を確認してから、コンパイルすると、下記のエラーメッセージが出力されました。
エラーは、下記のように出ました。
「エラー: メイン・クラスSample1が見つからなかったかロードできませんでした」
以下の【試したこと】もやってみましたが、バグが取れません。お手数ですが、アドバイスを頂けると幸いです。
下記に、ソースコードを掲載しております。
発生している問題・エラーメッセージ
エラー: メイン・クラスSample1が見つからなかったかロードできませんでした
該当のソースコード
<Main.java>
public class Main {
public static void main(String[] args) { Hero h = new Hero(); h.name = "コウタ"; h.hp = 100; System.out.println("勇者" + h.name + "を生み出した。"); h.sit(5); h.slip(); h.sit(25); h.run(); }
}
<Hero.java>
public class Hero {
//属性を定義する。 String name; int hp; void sleep() { this.hp = 100; System.out.println(this.name + "は、眠って回復した。"); } void sit(int sec) { this.hp +=sec; System.out.println(this.name + "は、" + sec +"秒座った。"); System.out.println("HPが" + sec + "ポイント回復した。"); } void slip(){ this.hp -=5; System.out.println(this.name + "は転んだ!"); System.out.println("5のダメージを受けた!"); } void run() { System.out.println(this.name + "は、逃げ出した!"); System.out.println("GAME OVER"); System.out.println("最終HP" + this.hp + "だった!"); }
}
試したこと
クラスが分かれているので、クラス名「Hero」を指定する必要があるのかと思い、メソッド『h.sit(5);』の前にクラス名「Hero」をつけて、「Hero.h.sit(5);」としてみましたが、
エラーメッセージ「hは解決できないか、フィールドではありません」と返ってきました。
補足情報(FW/ツールのバージョンなど)
使用OS:windows10


回答3件
あなたの回答
tips
プレビュー