Javaのオーバーライドについての解説

このQ&Aのポイント
  • Javaのオーバーライドについて教えてください!オーバーロードの内容は、partメソッドをオーバロードして引数にString型のデータを二つ受け取り、2つのString型のデータをそれぞれint型に変換し、それぞれかけた値を別のクラスでメインから呼び出すにはどうすれば良いですか?
  • Javaのオーバーライドについての解説です。プログラムはクラスA内のpartメソッドをオーバーロードしています。オーバーロードの内容は、引数にString型のデータを二つ受け取り、それぞれint型に変換してかけた結果を返します。このオーバーロードしたメソッドを別のクラスから呼び出すにはどうすれば良いかについて教えてください。
  • Javaのオーバーライドについての要点です。クラスA内のpartメソッドをオーバーロードすると、引数にString型のデータを二つ受け取ることができます。それぞれのデータをint型に変換し、かけた結果を返すようなプログラムです。このオーバーロードしたメソッドを他のクラスから呼び出す方法について教えてください。
回答を見る
  • ベストアンサー

Javaのオーバーライドについて教えてください!

//Sample.java class A extends Fina{ public int part(String str1,String str2){ int iN1 = Integer.parseInt(s1); int iN2 = Integer.parseInt(s2); intNum1 *= intNum2; return intNum1; } } このプログラムに対応するように同じクラス内でオーバーロードした際のプログラムを教えてください。 オーバーロードの内容は、partメソッドをオーバロードして引数にString型のデータを二つ受け取り、2つのString型のデータをそれぞれint型に変換し、それぞれかけた値を別のクラスでメインから呼び出すにはどうすれば良いですか?

  • Java
  • 回答数1
  • ありがとう数0

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

  • ベストアンサー
  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.1

>引数にString型のデータを二つ受け取り、 >2つのString型のデータをそれぞれint型に変換し、 >それぞれかけた値を別のクラスでメインから呼び出す それこそが質問文で提示されたメソッドでおこなっていることですよね。 (str1とs1,intNum1とiN1 など,変数名を統一していないのでコンパイルエラーにはなりますが) overload(多重定義)も override(上書き)もどちらも関係していないです。 ただ「別のクラスでメインから呼び出す」部分はこのコードに含まれていないので,それを提示するならこんな例になるでしょう。 class Q7256619 { public static void main(String[] args) { A obj = new A(); System.out.println(obj.part("355", "113")); } }

関連するQ&A

  • 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について・・・

    このように出力されるプログラムを考えています ↓ 受験者人数を入力してください 3 3人分の点数を入力してください 50 80 20 1人目の点数は50です 2人目の点数は80です 3人目の点数は20です 最高点は80です っという感じのプログラムを考えています。 そしていまここまでプログラムを書いたのはいいのですが 感じんの最高点が表示されません・・・ import java.io.*; class test{ public static void main(String[] args) throws IOException{ System.out.println("テストの受験者数を入力してください。"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str =br.readLine(); int num = Integer.parseInt(str); int test[] = new int[num]; int max=0; System.out.println(test.length +"人の点数を入力してください"); for(int i=0; i<num; i++){ String str1 = br.readLine(); test[i] = Integer.parseInt(str1); } for(int i=0; j<num; i++){ System.out.println((i+1)+"番目の人の点数は"+ test[i]+"です。"); if(test[i]>max){ max=test[i]; } } System.out.println("最高点は" +max+ "です。"); } } どこをどのように直せば最高点が表示されるようになるでしょうか? ご指摘おねがいします。

  • Javaのプログラムについて教えてください!

    //Sub.java package prac; class Super{ public void A(){ String address = new String("Osaka"); System.out.println(address); } } public class Sub extends Super{ public void A(){ String address = new String("Kyoto"); System.out.println(address); } public int A(String tmp){ return Integer.parseInt(tmp); } } このプログラムを他のクラスのmain関数から呼び出す場合どのようなコードになりますか?また、間違えているところがあれば合わせて教えてください。

    • ベストアンサー
    • Java
  • javaのオーバーライドについての質問です。

    *  クラスParent04に受け取ったString配列の中身を全て大文字に変換するChangeメソッドが定義されています。クラスParent04を継承するクラスChild04でChangeメソッドを  オーバーライドして、String配列の中身を全て小文字に変換するように変更してください。  その後クラスOverRide04のmainメソッドからChangeメソッドを呼び出して、  変換後のString配列の要素を全て出力してください。 */ // オーバーライドされるので覆い隠される class ORParent04{    public String[] Change(String[] strArray){       int len = strArray.length;      String[] Array = new String[len];      for(int i = 0; i < len; i++){       Array[i] = strArray[i].toUpperCase();      }      return Array;   } } // ORParent04クラスを継承し、ORChild04でオーバーライド // こちらが適用される。 class ORChild04 extends ORParent04{    //ここからプログラムを追加してください。    public String[] Change(String[] strArray){       int len = strArray.length;       String[] Array = new String[len];       for(int i = 0; i < len; i++){                   // toLowerCaseで小文字に変換         Array[i] = strArray[i].toLowerCase();       }       // 値を返す       return Array;    } } class OROverRide04{   public static void main(String[] args){        // ORChild04クラスのインスタンス化     ORChild04 ORchild04 = new ORChild04();       //ここからプログラムを追加してください。     // Changeメソッドの呼び出し:戻り値String[],引数String[]      String[] array = ORchild04.Change(String[] args);          // 表示      System.out.println(array);   }  } このような問題で、現在これをコマンドプロンプトでコンパイルすると、mainメソッド内のString[] array = ORchild04.Change(String[] args);メソッド呼び出し部分が指定され、 「'.class'がありません」 「;がありません」 という2つのエラーが表示されます。ネットでエラー表記の意味を検索し、コードを確認しましたが、「{}」と上記より上の行の;が特に抜けている、という訳ではありません。勿論自分が何か見落としている為にコンパイルエラーになるのですが、戻り値と引数の値は合わせているので、心情としては「動けジ・O!何故動かん!?」という具合です。 どなたか考え方やヒントなどお願い致します。後もう少しだと思うのですが。。。

    • ベストアンサー
    • Java
  • Javaで計算

    Javaを10月から始めた初心者です。 摂氏から華氏に変えるプログラムを作成したいのですが、結果が合いません。 計算の所のプログラムが間違っているのだと思うのですが、どうすれば良いのか分からないので教えてください。 import java.io.*; class quiz01{ public static void main(String[] args) throws IOException{ System.out.println("摂氏の温度℃を入力してください。"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); int num = Integer.parseInt(str); int F = 9/5*num+32; System.out.println("華氏の温度Fは " + F + " です。"); } } よろしくお願いします!

    • ベストアンサー
    • Java
  • Java int sum = 0は必要ですか?

    やさしいJavaという本を買ったのですが、良くわからない箇所がありました。 --------------省略----------------- class Sample6 { public static void main(String[] args) throws IOException { System.out.println("整数を3つ入力してください。") ; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)) ; String str1 = br.readLine() ; String str2 = br.readLine() ; String str3 = br.readLine() ; int sum = 0 ; sum += Integer.parseInt(str1) ; -------------------略----------------- int sum = 0 ; とありますが、0と設定しておく必要はありますか? 無いとまずいですか? いきなりこのコードが出てきたと思うのですが どこかに書いてましたっけ?

    • ベストアンサー
    • Java
  • 以下のJAVAプログラムでご質問です。

    import java.util.*; import java.io.*; import java.text.*; public class JTest9 { public static void main(String[] args) throws IOException { System.out.println("基準となる年月日を入力して下さい。"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str1 = br.readLine(); String str2 = br.readLine(); String str3 = br.readLine(); int year = Integer.parseInt(str1); int month = Integer.parseInt(str2); int day = Integer.parseInt(str3); String targetDateText = year + "/" + month + "/" + day; int addDate = 10; SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd"); Date targetDate = sdf.parse(targetDateText); Calendar cal = Calendar.getInstance(); cal.setTime(targetDate); cal.add(Calendar.DATE,addDate); System.out.println(sdf.format(cal.getTime())); } } 上記は、コンソールから、年、月、日 を入力し、その入力した日付から10日後の日付を 出力しようとしているプログラムです。 しかし、17行目のsdf.parse(targetDateText);において、コンソール上に下記エラーが出ます。 Exception in thread "main" java.lang.Error: Unresolved compilation problem: 処理されない例外の型 ParseException このエラーを解決したいのですが、どのように修正すればよいのでしょうか。 ご助言の程、よろしくお願い致します。

    • ベストアンサー
    • Java
  • JAVAでエラーがでる。

    JAVA初心者なのですが、下のプログラムは数値を入力して、それを表示させるという簡単なプログラムなのですが、実行すると、 String str = br.readLine(); のbr.readLine();の部分に赤い波線が出て、 「処理されない例外の型 IOException at B.main(B.java:11)」 というエラーが出てしまってこまっています。 参考書のとうりに入力しているのになぜでしょうか? タブやスペースが使えないので見にくくなってしまってすみません。 どなたかJAVAに詳しい方 教えてください。 import java.io.*; public class B { public static void main(String[] args) { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); int num = Integer.parseInt(str); System.out.println(num + "が入力されまた。"); } }

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

    今、JAVAを始めたのですが、どうしても分からないところがあるので教えていただきたいのですが・・・・ +と- と言う文字をキーボードから入力して、switch文で判断したいのです。 ソースは String s3 = bufreader.readLine(); 上記でキーボードから文字列を取得して、 switch(s3){ case '+': int c = Integer.parseInt(s1) + Integer.parseInt(s2); System.out.println(c); break; case '-': int d = Integer.parseInt(s1) - Integer.parseInt(s2); System.out.println(d); break; } スイッチ文で、+と言う文字と-の文字だったとき、それぞれ画面に表示させたいのですが、うまくいきません。 多分、文字列でゲットしてきたものをswitch文は使えないからだと思うのですが・・・・ すみません。もし宜しければ、教えてください。お願いします。

    • ベストアンサー
    • Java

専門家に質問してみよう