• ベストアンサー

JAVAプログラム

こんにちは。お世話になります。 JAVAのプログラミングについての質問です。 メインメソッドに配列オブジェクトを作らなければならないのですが、 次の6つのクラスとバリューを含めなければならないんです。 Class ------- Value Integer ----- 5 Integer ----- 42 String ------ "hello" String ------ "there" Person ------ "Laura" 40 Person ------ "Peter" 35 これはプロジェクトの一部なんですが、この意味すらよく把握できていません。 どなたか説明していただけないしょうか? この後、searchメソッドでサーチして、例外処置を行うというものなんです。 この一部分だけでも教えていただけると幸いです。 よろしくお願い致します。

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

  • ベストアンサー
  • yamada46
  • ベストアンサー率39% (13/33)
回答No.2

こんにちは。 仕様がはっきりしないので何とも回答しにくいのですが、 こんな事なのでしょうか? public class Main { public static void main(String[] args) { Value[] aValue = new Value[2]; aValue[0] = new Value(); aValue[0].i1 = Integer.valueOf(5); aValue[0].s1 = "hello"; aValue[0].person = new Person(); aValue[0].person.name = "Laura"; aValue[0].person.age = Integer.valueOf(40); aValue[1] = new Value(); aValue[1].i1 = Integer.valueOf(42); aValue[1].s1 = "there"; aValue[1].person = new Person(); aValue[1].person.name = "Peter"; aValue[1].person.age = Integer.valueOf(35); for (int i = 0; i < 2; i++) { System.out.println("no=" + aValue[i].i1 + " word=" + aValue[i].s1 + " name=" + aValue[i].person.name + " age=" + aValue[i].person.age); } } } class Value { public Integer i1; public String s1; public Person person; } class Person { public String name; public Integer age; } 簡単の為に、メンバがprivateじゃないとかは抜きにしてます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

えーと、質問の内容がよくわかりません。 多分Javaの理解不足からくる要求の理解不足かと思います。 その辺は、推測で情報を補いながら回答します。 >配列オブジェクトを作らなければならない >6つのクラスとバリューを含めなければならない クラスは3つですよね。で、インスタンスが6個。 それをいっぺんに入れなければならない配列。 その型は3つのクラスに共通するスーパークラスであるObject型の配列にしなければならないでしょう。 もしかしたら、配列ではなくList型かもしれません。Objectの配列、List型ともに共通することですが、取り出す際にはその型であることを明示的に示しキャストしなければなりません。 >この後、searchメソッドでサーチして、例外処置を行うという これについては、何を知りたいのかまったくわかりません。この記述は質問とは無関係なのですか? とりあえずそんな感じで

bmwm52006
質問者

補足

内容が説明の仕方が悪くて申し訳ありませんでした。 プロジェクトの内容を書いてみます。 二つのexception classes: ClassNotFoundException ObjectNotFoundException を作る。 main methodのなかで、array of objects AO を作り、 そこに下記の六つのアイテムを含めます。 >Class Value >Integer 5 >Integer 42 >String "hello" >String "there" >Person "Laura" 40 >Person "Peter" 35 そして、static method のserachを定義して、 その中で先ほど定義した二つの例外処置を行う。 一例 DがDouble, IがInteger = 25で、 search(AO, D) が例外のClassNotFoundExceptionを発生させる。 search(AO, I) の時はObjectNotFoundExceptionを発生させる。 さらにmain methodの中で、 Integer 5 Person "steve" 5 Double 42 もサーチしなければならない。 NOTE:  String name; int age; を含んだclass person をインプリメントしなければならない。 これがやりたい内容となっています。 一応ここまではトライしたのですが‥。 よろしくお願い致します。 class Assignment5{ public static void main(String[] args){ object[] AO = new object[6] object[0] = new Integer(5); object[1] = new Integer(42); object[2] = new String("Hello"); object[3] = new String("There"); object[4] = new Person("Laura", 40); object[5] = new Person("Peter", 35); }

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • JAVA Array and Exception

    内容が説明の仕方が悪くて申し訳ありませんでした。 プロジェクトの内容を書いてみます。 二つのexception classes: ClassNotFoundException ObjectNotFoundException を作る。 main methodのなかで、array of objects AO を作り、 そこに下記の六つのアイテムを含めます。 Class Value Integer 5 Integer 42 String "hello" String "there" Person "Laura" 40 Person "Peter" 35 そして、static method のserachを定義して、 その中で先ほど定義した二つの例外処置を行う。 一例 DがDouble, IがInteger = 25で、 search(AO, D) が例外のClassNotFoundExceptionを発生させる。 search(AO, I) の時はObjectNotFoundExceptionを発生させる。 さらにmain methodの中で、 Integer 5 Person "steve" 5 Double 42 もサーチしなければならない。 NOTE:  String name; int age; を含んだclass person をインプリメントしなければならない。 これがやりたい内容となっています。 一応ここまではトライしたのですが‥。 よろしくお願い致します。 class Assignment5{ public static void main(String[] args){ object[] AO = new object[6] AO[0] = new Integer(5); AO[1] = new Integer(42); AO[2] = new String("Hello"); AO[3] = new String("There"); AO[4] = new Person("Laura", 40); AO[5] = new Person("Peter", 35); }

    • ベストアンサー
    • Java
  • Javaのプログラムについて至急教えてください!

    //Sub.java class Super{ public void A(){} } class Sub extends Super{ /* (1) */ } このプログラムの(1)に入るものを下から2つ選んで他のクラスのメインメソッドから呼び出すのですがどうやってもわかりません。わかる方教えてください! public void A(){} public String A(){ return "pool";} public int A(String str){return Integer.parseInt(st);} public int A(){return 3;} public Object A(){return new Object();}

    • ベストアンサー
    • Java
  • Javaのプログラムについて教えて下さい

    //Sample.java class Sample void methodA(int temp) if(temp == 0) String str = new String("Exception"); Integer.parseInt(str); else if(temp == 1) int[] array = new int[temp]; else Exception exc = new Exception(); throw exc; //SampleMain.java class ExceptionMain public static void main(string[] args) Sample sam = new Sample(); Int temp = Integer.parseInt(args[0]); Sam.method(temp); } } このプログラムの場合、ExceptionMainに新たにコードを加えて、コマンドライン引数が0,1,その他の場合に例外メッセージを出力するプログラムを教えて下さい。

    • ベストアンサー
    • Java
  • javaプログラムについて

    クラスの出席番号順にString型配列nameに名前が、 * int型配列scoreにテストの点数が格納されています。 * * 出席番号1 大悟 74点 * 出席番号2 琴音 70点 * 出席番号3 勇輝 88点 *       ・ *       ・ *       ・ *       ・ *       ・ * * このクラスの最高得点者の名前と、最低得点者の名前を * 表示するメソッドを作成してください。 * */ public class MethodAdd8 { public static void main(String[] args){ String[] name = {"大悟", "琴音","勇輝","葵","綾乃","和樹","凛","愛花","結愛","孝太郎"}; int[] score = {74,70,88,82,96,64,80,61,72,79}; //メソッドの呼び出し score("綾乃",1); score("愛花",2); } //ここにメソッドを追加してください public static void score(String name,int score){ if(score==1){ System.out.println("綾乃"); }else{ System.out.println("愛花"); } } } この配列から、最高得点者と最低得点者は分かるので上記のようにしたところ、 score配列の中から最高得点者と最低得点者を探すように、と言われました。 考え方やヒントなどをお願いします。

  • java これはオーバーロードすればいいのでは?

    以下のようなコードについて質問です。 class Person { public static int count = 0; public String firstName; public String middleName; public String lastName; public int age; public double height; public double weight; Person(String firstName, String lastName, int age, double height, double weight) { Person.count++; this.firstName = firstName; this.lastName = lastName; this.age = age; this.height = height; this.weight = weight; } Person(String firstName, String middleName, String lastName, int age, double height, double weight) { this(firstName, lastName, age, height, weight); this.middleName = middleName; } public String fullName() { if(middleName == null){ return this.firstName + " " + this.lastName; }else{ return this.firstName + " "+middleName+ ""+ this.lastName; } } fullName() メソッドを条件分岐して、以下のようなメソッドで、ミドルネームを入れるかどうかで、条件分岐するということなのですが… class Main { public static void main(String[] args) { Person person1 = new Person("Kate", "Jones", 27, 1.6, 50.0); person1.printData(); Person person2 = new Person("John", "Christopher", "Smith", 65, 1.75, 80.0); person2.printData(); Person.printCount(); } } これって、引数にfullNameメソッドに何も指定してなくていいのでしょうか。 疑問に感じてしまいました。 また、同じfullNameメソッドという名前のメソッドで引数でmiddleNameの有無だけ変えてオーバーロードしてはだめなのでしょうか。

  • javaの不思議

    C言語をたしなむ程度にやっているものです。 Javaを勉強していたのですが、不思議だなと思ったので質問させてください。 Integer value = new Integer(30); value.doubleValue() // <- double型に変換している このプログラムだとvalueはintなのにあらかじめdoubleに変換できることを想定しています。 C言語の癖なのかしらないですが、型変換をするならクラスメソッドではなくキャストするか、 メソッドに投げる(Integer.toString←stringにする例ですが)。 この2つの方法が自然な型変換だと思うのですが、変でしょうか?

    • ベストアンサー
    • Java
  • javaプログラムについて

    コマンドライン引数から複数の値を受け取り、それらの最大と最小を表示する、というプログラムなのですが。 class Maxmin{   public static void main (String[] args) {    int max=Integer.MIN_VALUE;    int min=Integer.MAX_VALUE;    for (int i=0; i<args.length; i++){     int num= Integer.parseInt(args[i]);     if(num>max)     max=num;     if(num<min)     min=num;    }    System.out.println("最大値は" + max + "です。");    System.out.println("最小値は" + min + "です。");  } } このプログラムでも問題なく表示されるのですが、MIN_VALUEとMAX_VALUEを使用せずに表示する事、と指摘を受けました。自分の中でぱっと思いついたのがこれだったのですが、他にはどのような方法があるのでしょうか?

    • ベストアンサー
    • Java
  • javaのプログラムに関する質問

    * 入力された数値の数だけ、"*"を表示するメソッド * displayAsterメソッドを作成して下さい。 */ public class MethodAdd3 { public static void main(String[] args){ // 入力された数字をint型の数値に変換 int iInput = Integer.parseInt(args[0]); // displayAsterメソッドの呼び出し displayAster(iInput); } // ここにdisplayAsterメソッドを作成 public static void displayAster(int iInput1){ for(i=0; i<iInput1; i++){ System.out.print("*"); } System.out.println(""); } ここまで出来たのですが、コンパイルエラーになってしまいます。 考え方かヒントなど、知恵をお貸しください。

  • java名簿管理プログラム

    以下の名簿管理プログラムで削除と名前の辞書順ソートのメソッドの作り方を教えていただけませんか? public class Meibo{ private Vector vec; public Meibo(){ vec=new Vector(); } public void insert(Person p){ vec.add(p); } public void delete(String name){ } public void sort(){ } /* PersonオブジェクトではStringで名前を、intで年齢を定義し入力しています */ かなり局部的にしか載せていないので非常に分かり難いとは思いますがどうかよろしくお願いします。

  • javaプログラムについて

    */コマンドライン引数で2つの数字と1つの記号を受け取ります。 * //受け取った記号が『+』ならplusメソッドを呼び出し、 * //受け取った記号が『-』ならminusメソッドを呼び出し、 * //受け取った記号が『×』ならmultiplyメソッドを呼び出し、 * //受け取った記号が『÷』ならdivideメソッドを呼び出し、 * //それ以外が入力された場合は『計算できません。』と表示する * //プログラムを作成してください。 * */ public class MethodAdd9 { public static void main(String[] args) { int input1 = Integer.parseInt(args[0]); int input2 = Integer.parseInt(args[1]); String sign = args[2]; //ここにプログラムを追加してください if(sign.equals("+")){ plus(input1,input2);//プラスメソッドへ } if(sign.equals("-")){ minus(input1,input2);//マイナスメソッドへ } if(sign.equals("*")){ multiply(input1,input2);//掛算メソッドへ } if(sign.equals("/")){ divide(input1,input2);//割算メソッドへ } } // 四則演算を行うメソッドを追加 //プラスメソッド表示 public static void plus(int a,int b){ int c=a+b; System.out.println(a+b); } //マイナスメソッド表示 public static void minus(int d,int e){ int f=d-e; System.out.println(d-e); } //掛算メソッド表示 public static void multiply(int g, int h){ int i=g*h; System.out.println(g*h); } //割算メソッド表示 public static void divide(int j,int k){ int l=j/k; System.out.println(j/k); } } ここまで出来て、記号を認識してくれるようにはなったのですが、何故か"*"掛算の記号だけ読み込んでくれません。また、ここから「計算出来ません」と表示させるにはどうすれば良いでしょうか。知恵をお貸しください。