- 締切済み
printfの%fにおいて教本どおりなのにエラーが出ます
本に書いてある通り、 ------------------------------------------------------------------ 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) ------------------------------------------------------------------ 何が間違っているのでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- don_go
- ベストアンサー率31% (336/1059)
J2SE 5.0の新機能 第4回 書式付き入出力機能(1)――Javaのprintf http://www.itarchitect.jp/technology_and_programming/-/21082.html
コピーアンドペーストして動かしてみましたが、問題なく動きました。ソースコードに間違いはなさそうですね。 お使いのJDKのバージョンはいくつでしょうか。5.0以降ではdoubleは自動的にDoubleに変換されますのでこのリストで正常に動くはずです。JDKが古いとか、あるいはコンパイル時のソースコードレベルが古く設定されているということはないでしょうか。JDKと、お使いの開発環境でのコンパイルに関する設定などを確認してみてはいかがでしょう。
お礼
Sunのサイトで、 Windows Offline Installation, Multi-language jdk-6u3-windows-i586-p.exe をDL、インストールして、Eclipseの設定>Java>コンパイラー>コンパイラー準拠レベル の値を1.4から6.0にしたらエラーが消えました。 頂いた回答から推測しただけで何が何やらよくわかりません。 とりあえず先に進むことができます。ありがとうございました。
お礼
ありがとうございました。