我正在尝试做一个简单的编程挑战,而且我遇到了一个与Math.pow()函数有关的奇怪和无关的问题.
我得到6的1的力量是54?
我正在读取在命令行输入的文件(通过args [0]).该文件只包含三个数字:
6
75
153
Run Code Online (Sandbox Code Playgroud)
我正在运行的程序如下:
public static void main (String[] args)throws IOException{
File filename = new File(args[0]);
Scanner file = new Scanner(filename);
while(file.hasNextLine()){
String numbers = file.nextLine();
int numValue = Integer.parseInt(numbers);
int sumOfPowers = 0;
for(int i = 0; i < numbers.length(); i++){
sumOfPowers += Math.pow(numbers.charAt(i), numbers.length());
System.out.println(Math.pow(numbers.charAt(i), numbers.length()));
System.out.println(Math.pow(6, 1));
}
}
file.close();
}
Run Code Online (Sandbox Code Playgroud)
这产生的输出是奇数.基于这些类型的值创建幂函数是否违反Java规则?
输出我得到:
54.0
6.0
3025.0
6.0
2809.0
6.0
117649.0
6.0
148877.0
6.0
132651.0
6.0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
233 次 |
| 最近记录: |