Ros*_*sie 5 java format string-formatting java-8
我正在尝试创建一个简单的java程序,该程序读取浮点数,使用欧拉数方程计算它,然后将结果从double转换为int。我可以让它编译而不会出现错误,但在输入浮点数后出现错误:
\nnB = Exception in thread "main" java.util.IllegalFormatConversionException: f != java.lang.Integer\n at java.util.Formatter$FormatSpecifier.failConversion(Unknown Source)\n at java.util.Formatter$FormatSpecifier.printFloat(Unknown Source)\n at java.util.Formatter$FormatSpecifier.print(Unknown Source)\n at java.util.Formatter.format(Unknown Source)\n at java.io.PrintStream.format(Unknown Source)\n at java.io.PrintStream.printf(Unknown Source)\n at Ex4.main(Ex4.java:16)\nRun Code Online (Sandbox Code Playgroud)\n它只有几行代码,我刚刚创建了一个运行良好的类似程序,所以我不明白这里出了什么问题!我认为这可能与欧拉数上的行有关,因为我还没有完全理解所有数学函数,但我在以完全相同的方式使用 \xcf\x80 之前就很好了。还是因为最后的转换步骤错误?抱歉,如果这是非常明显的事情,我已经尽力调试它很多次了,但每当我更改某个部分时,我认为这可能是问题所在,我最终会遇到更多错误。这是代码:
\nimport static java.lang.Math.*;\nimport java.util.Scanner;\n\nclass Ex4\n{\n public static void main( String [ ] args)\n {\n Scanner input = new Scanner(System.in); //import scanner and ask user to input number\n System.out.print("Please enter a floating-point number: ");\n double nA = input.nextDouble(); \n\n double nB = Math.pow(E, nA); //mathematical equation\n\n int value = (int) nB; //convert nB to an int\n\n System.out.printf("nB = %f", value);\n }\n} \nRun Code Online (Sandbox Code Playgroud)\n我知道,小而简单,可怜;_; 我也尝试在这里查找类似的问题,但任何评论者发现我三次检查的所有错误都是我的。另外,如果有人可以帮助我更好地理解错误消息,我将非常感激。谢谢你!!
\n尝试使用%d而不是%f:
System.out.printf("nB = %d", value);
Run Code Online (Sandbox Code Playgroud)
有关格式设置的更多详细信息,请参阅此页面。
| 归档时间: |
|
| 查看次数: |
8552 次 |
| 最近记录: |