我正在尝试创建一个简单的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); …Run Code Online (Sandbox Code Playgroud)