1

プログラムで質問がありprintfましたが、最後に書きました:</p>

System.out.print(area[i]+" ");

それは印刷します:

2.000000000000001 12.0 28.274333882308138

それから私はそれprintfを置き換えるために使用しようとしました:

System.out.printf("%4.1f",area[i]+" ");

ただし、実行時にエラーが発生します。

f != java.lang.String

4.1ドットの後に 1 桁しか取得しないと 4 桁の幅がなくなるため、 の値の設定が間違っていることが原因である可能性2.000000000000001がありますが、エラー メッセージはどういう意味ですか?

4

2 に答える 2

3

連結演算子のため+; タイプですarea[i] + " "java.lang.String実行時のエラーはこれを示しています。

エラーメッセージはあなたの友達です。それらに感謝することを学びましょう。

于 2013-10-17T13:04:29.097 に答える
1

エラーは、式の次の事実から発生する可能性があります。

System.out.printf("%4.1f",area[i]+" ");

フロートではなく文字列を出力します (はい、area[i]+" " は文字列です)。

で試してください:

System.out.printf("%4.1f",area[i]);

うまくいくはずですよね?

于 2013-10-17T13:01:49.300 に答える