dポイントプレゼントキャンペーン実施中!

オーバーロードでメソッドgetvalueへコマンドライン引数から取得した値を渡したいのですが、どのようにすればいいのでしょうか。エラー:シンボルが見つけられません。
×としたところでol.getvalue( args[i] );←ここに値をいれたいのですが、できません。なにか方法はありますでしょうか。


class OverLoad{
    void getvalue(Boolean value){
  System.out.println("Boolean型:" + value);
    }
    void getvalue(int value){
  System.out.println("int型:" + value);
    }
public class Capsule{
    public static void main(String[] args){
  OverLoad ol = new OverLoad();
×  ol.getvalue( args[i] );
○  ol.getvalue(false);
○     ol.getvalue(80);
    }
}

A 回答 (3件)

こんばんは!(^o^)丿



まず ol.getvalue(false); で
void getvalue(Boolean value)
だとエラーになりません?
型はbooleanのプリミティブ型が正しいと思いますよ。

public static void main(String[] args)では
引数がString型のメソッドが用意されてないため
エラーとなってます。
void getvalue(int value)にオーバーロードで
設定したいならば
ol.getvalue( Integer.parseInt(args[0]) );
ってな感じでintで渡してあげれば大丈夫ですよ(^^♪
    • good
    • 0

void getvalue(String value){


System.out.println("String型:" + value);
}
を作ったらどうでしょうか
    • good
    • 0

こんにちは。



×の場合は
iという変数が宣言されていないのと、iを宣言しても
引数がString型の配列になってるのでエラーになります。
(argsの型)

OverLoadクラスに
void getvalue ( String[] values ) {}
を用意するか、args[0]をint型に変えてあげればエラーはなくなるはずです。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!