電子書籍の厳選無料作品が豊富!

本に書いてある通り、
------------------------------------------------------------------
public class BreakTest {

/**
* @param args
*/
public static void main(String[] args) {
int day = 1;
double value = 1500;
double rate = 1.05;

System.out.println(day+"日目");
System.out.println("株価:"+value+"円");
System.out.println("上昇率:"+rate);

while(value < 3000){
day++;
value = value*rate;
if(day >= 10){
break;
}
}
System.out.println(day+"日目に");
System.out.printf("株価:%f円", value);

}

}
------------------------------------------------------------------
とプログラミングしたのに最後の文「System.out.printf("株価:%f円", value); 」
でエラーが出ます。エラーの内容は下記の通りです。
------------------------------------------------------------------
Exception in thread "main" java.lang.Error: コンパイル問題が未解決です。
型 PrintStream のメソッド printf(String, Object[]) は引数 (String, double) に適用できません。

at BreakTest.main(BreakTest.java:24)
------------------------------------------------------------------
何が間違っているのでしょうか?

A 回答 (2件)

コピーアンドペーストして動かしてみましたが、問題なく動きました。

ソースコードに間違いはなさそうですね。

お使いのJDKのバージョンはいくつでしょうか。5.0以降ではdoubleは自動的にDoubleに変換されますのでこのリストで正常に動くはずです。JDKが古いとか、あるいはコンパイル時のソースコードレベルが古く設定されているということはないでしょうか。JDKと、お使いの開発環境でのコンパイルに関する設定などを確認してみてはいかがでしょう。
    • good
    • 0
この回答へのお礼

Sunのサイトで、
Windows Offline Installation, Multi-language jdk-6u3-windows-i586-p.exe
をDL、インストールして、Eclipseの設定>Java>コンパイラー>コンパイラー準拠レベル
の値を1.4から6.0にしたらエラーが消えました。
頂いた回答から推測しただけで何が何やらよくわかりません。
とりあえず先に進むことができます。ありがとうございました。

お礼日時:2007/12/07 21:35

J2SE 5.0の新機能


第4回 書式付き入出力機能(1)――Javaのprintf
http://www.itarchitect.jp/technology_and_program …
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/12/11 15:40

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