• ベストアンサー

クラスの作成 オブジェクトの生成 メンバ変数へのアクセス

Person というクラスを宣言し、main メゾットで new 演算子を使ってPerson オブジェクトを作成。さらに、main メゾットでインスタンス変数に値を代入して表示したい。 Person クラスのインスタンス変数には、名前 年齢 給料 を用意する。 変数のデータ型は、順に String , int float です。 Person クラス以外で main メゾットを作成する。 初心者です、本は結構読んだのですが、なかなかわかりませんでした。 おしえてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • tachiwa
  • ベストアンサー率34% (25/73)
回答No.7

ANo4,6です 原因が分かりました。 hivagonnさんは class Person と宣言すべきところを class Person1 としていませんか。

hivagonn
質問者

お礼

ありがとうございました。 言われるとおり、安易に名前を変えてしまったことも原因のひとつでした。すいません、ご迷惑をおかけしました。 後、コンパイルの仕方が、まずかったようです、Personで、コンパイル実行していましたが、ファイルを分けて、PersonTestで、コンパイル実行すればよかったんですね。すいません。ありがとうございました。

その他の回答 (6)

  • tachiwa
  • ベストアンサー率34% (25/73)
回答No.6

ANo4です こちらでは問題なくコンパイル、実行が出来ます。 hivagonnさんの書いたコードを全て貼り付けてください。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.5

>toi62.java:20: クラス Sample は public であり、ファイル >Sample.java で宣言しなければなりません。 main メソッドのあるクラス名 とファイル名を合わせてください 例えば、 public class Sample { の場合 Sample.java にします。 class PersonTest なら PersonTest.java

  • tachiwa
  • ベストアンサー率34% (25/73)
回答No.4

なるべく簡単にしました 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(); } }

hivagonn
質問者

補足

ありがとうございます。 Person1.java:5: メソッドの宣言が不正です。戻り値の型が必要です。 Person(String name,int age,float pay){ ^ エラー 1 個 上記のエラーが出ました。 コンパイルの仕方が悪かったのでしょうか?

  • Trick--o--
  • ベストアンサー率20% (413/2034)
回答No.3

メゾット ではなく メソッド(method) http://e-words.jp/w/E383A1E382BDE38383E38389.html

  • tom11
  • ベストアンサー率53% (134/251)
回答No.2

こんな感じで、どうでしょう 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 } }

hivagonn
質問者

お礼

ありがとうございました。 何とか上手くできました。 助かりました。

hivagonn
質問者

補足

ありがとうございます。 Person2.java:10: メソッドの宣言が不正です。戻り値の型が必要です。 public Person(String name, int age, float salary){ ^ エラー 2 個 どうも上手く行かないです。。。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

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); } }

hivagonn
質問者

お礼

ありがとうございます、私のコンパイル、実行の仕方が割る方用です、吸いませんでした。 ありがとうございました。 ひとつのファイルとして、コンパイルしていました。 ありがとうございました。

hivagonn
質問者

補足

ご回答ありがとうございます、 参考にさせていただいてます。 下記のようなエラーメッセージが、コンパイル時に出ました。 toi62.java:20: クラス Sample は public であり、ファイル Sample.java で宣言しなけ ればなりません。 public class Sample { ^ エラー 1 個

関連するQ&A

専門家に質問してみよう