2010-12-31 7 views
2

との誤差が、私はとのトラブルを抱えている私のコードの一部です。私はそれを、出力を実行しようとしている:JavaのMethodOverloading double値ここで

int引数の正方形呼び出さ

:7
整数7の広場が49

ですjava.util.Formatter $でjava.util.Formatter $ FormatSpecifier.failConversion(Formatter.java:3999) で D = java.lang.Doubleの :

"メイン" java.util.IllegalFormatConversionExceptionスレッドでの例外! FormatSpecifier.printInteger(Formatter.java:2709) at java.util.Formatter $ FormatSpecifier.print(Formatter.java:2661) at java.util.Formatter.format(Formatter.java:2433) at java.io. printStream.format(PrintStream.java:920) at java.io.PrintStream.printf(PrintStream.java:821) at methodoverload.Overload.square(Overload.java:19) at methodoverload.Overload.testOverLoadeds(オーバーロード。 java:8) at methodoverload.Main .main(Main.java:9) はdouble引数の正方形呼び出されます。Java結果:1

私が間違っているのか?

私はUbuntu 10.10、Netbeans 6.9を使用しています。

ありがとうございました。

答えて

0

書式指定子を変更する必要がしようとすると、F、Dではありません。したがって、この行は次のようになります。

System.out.printf("\nCalled square with double argument: %f\n", doubleValue); 

フォーマット指定子hereの詳細。

0

この

public class Overload { 
    public void testOverLoadeds() { 
     System.out.printf("Square of integer 7 is %d\n", square(7)); 
     System.out.printf("Square of double 7.5 is %.4f%n", square(7.5)); 
    }// ..end testOverloadeds 

    public int square(int intValue) { 
     System.out.printf("\nCalled square with int argument: %d\n", intValue); 
     return intValue * intValue; 
    }// ..end square int 

    public double square(double doubleValue) { 
     System.out.printf("\nCalled square with double argument: %.4f%n",doubleValue); 
     return doubleValue * doubleValue; 

    }// ..end square double 
    // ..end class overload 

    public static void main(String[] args) { 

     Overload methodOverload = new Overload(); 
     methodOverload.testOverLoadeds(); 

    } 
} 

あなたは二重の値のために二重のフォーマッタ "%d個の\ n" は

+0

返信いただきありがとうございます。残念ながら、それは問題を解決しませんでした。私はまだ同じエラーが発生しています。 – Nima

+0

私は答えを更新しました。 – tkt986

+0

これがur質問に答えるならば、答えとして印を付けることを忘れるか、私に教えてください... – tkt986

関連する問題