- ベストアンサー
クラスの作成 オブジェクトの生成 メンバ変数へのアクセス
Person というクラスを宣言し、main メゾットで new 演算子を使ってPerson オブジェクトを作成。さらに、main メゾットでインスタンス変数に値を代入して表示したい。 Person クラスのインスタンス変数には、名前 年齢 給料 を用意する。 変数のデータ型は、順に String , int float です。 Person クラス以外で main メゾットを作成する。 初心者です、本は結構読んだのですが、なかなかわかりませんでした。 おしえてください。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
ANo4,6です 原因が分かりました。 hivagonnさんは class Person と宣言すべきところを class Person1 としていませんか。
その他の回答 (6)
- tachiwa
- ベストアンサー率34% (25/73)
ANo4です こちらでは問題なくコンパイル、実行が出来ます。 hivagonnさんの書いたコードを全て貼り付けてください。
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
>toi62.java:20: クラス Sample は public であり、ファイル >Sample.java で宣言しなければなりません。 main メソッドのあるクラス名 とファイル名を合わせてください 例えば、 public class Sample { の場合 Sample.java にします。 class PersonTest なら PersonTest.java
- tachiwa
- ベストアンサー率34% (25/73)
なるべく簡単にしました class Person{ String name; int age; float pay; Person(String name,int age,float pay){ this.name = name; this.age = age; this.pay = pay; } public void showPerson(){ System.out.println("名前 " + name + " 年齢 " + age + "才" + " 年俸 " + pay + "$"); } } public class PersonTest { public static void main(String args[]){ Person person = new Person("イチロー",31,4000000f); person.showPerson(); } }
補足
ありがとうございます。 Person1.java:5: メソッドの宣言が不正です。戻り値の型が必要です。 Person(String name,int age,float pay){ ^ エラー 1 個 上記のエラーが出ました。 コンパイルの仕方が悪かったのでしょうか?
- Trick--o--
- ベストアンサー率20% (413/2034)
メゾット ではなく メソッド(method) http://e-words.jp/w/E383A1E382BDE38383E38389.html
- tom11
- ベストアンサー率53% (134/251)
こんな感じで、どうでしょう class Person { String name; int year; float salary; public Person(String name, int year, float salary) { this.name = name; this.year = year; this.salary = salary; } } public class pp { /** Creates a new instance of pp */ public pp() { } /** * @param args the command line arguments */ public static void main(String[] args) { Person p1 = new Person("佐々木 小次郎",20,3000); Person p2 = new Person("宮本 武蔵",30,4000); //小次郎のデータ System.out.println("名前="+p1.name); System.out.println("年齢="+p1.year); System.out.println("給料="+p1.salary); System.out.println("名前="+p2.name); System.out.println("年齢="+p2.year); System.out.println("給料="+p2.salary); // TODO code application logic here } }
お礼
ありがとうございました。 何とか上手くできました。 助かりました。
補足
ありがとうございます。 Person2.java:10: メソッドの宣言が不正です。戻り値の型が必要です。 public Person(String name, int age, float salary){ ^ エラー 2 個 どうも上手く行かないです。。。
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
class Person { public String 名前; public int 年齢; public float 給料; public Person(){ 名前="NONAME"; 年齢=0; 給料=0.0F; } public Person(String name, int age, float salary){ 名前=name; 年齢=age; 給料=salary; } public String toString(){ return "Person(名前:"+名前+",年齢:"+年齢+",給料:"+給料+")"; } } public class Sample { public static void main(String[] args) { Person bluepixy = new Person("BLUEPIXY", 99, 1.7320508F); System.out.println(bluepixy); Person anyone = new Person(); System.out.println(anyone); anyone.名前="ANY"; anyone.年齢=18; anyone.給料=23.5F; System.out.println(anyone); } }
お礼
ありがとうございます、私のコンパイル、実行の仕方が割る方用です、吸いませんでした。 ありがとうございました。 ひとつのファイルとして、コンパイルしていました。 ありがとうございました。
補足
ご回答ありがとうございます、 参考にさせていただいてます。 下記のようなエラーメッセージが、コンパイル時に出ました。 toi62.java:20: クラス Sample は public であり、ファイル Sample.java で宣言しなけ ればなりません。 public class Sample { ^ エラー 1 個
お礼
ありがとうございました。 言われるとおり、安易に名前を変えてしまったことも原因のひとつでした。すいません、ご迷惑をおかけしました。 後、コンパイルの仕方が、まずかったようです、Personで、コンパイル実行していましたが、ファイルを分けて、PersonTestで、コンパイル実行すればよかったんですね。すいません。ありがとうございました。