我是Java的新手。我需要命令一个类型为float的数组,但是我的代码似乎不起作用
package java1;
import java.util.Arrays;
import java.util.Collections;
public class Orden{
public static void main(String[] args) {
float []nums={23.6,35,5,4,4,3,10.9,2,45,56};
Float[]floatArray=new Float[nums.length];
for (int i = 0; i < nums.length; i++) {
floatArray[i]=nums[i];
}
Arrays.sort(floatArray,Collections.reverseOrder());
for (int i = 0; i < floatArray.length; i++) {
System.out.println("num:"+floatArray[i]);
}
}
}
答案 0 :(得分:0)
关键是将浮点数传递给float数组。即指定f
到数字的值。
float[] nums = {23.6f, 35f, 5f, 4f, 4f, 3f, 10.9f, 2f, 45f, 56f};
试试这个......这很有效。
float[] nums = {23.6f, 35f, 5f, 4f, 4f, 3f, 10.9f, 2f, 45f, 56f};
Float floatArray[] = new Float[nums.length];
for (int i = 0; i < nums.length; i++) {
floatArray[i] = nums[i];
}
Arrays.sort(floatArray, Collections.reverseOrder());
for (int i = 0; i < floatArray.length; i++) {
System.out.println("num:" + floatArray[i]);
}
答案 1 :(得分:0)
我运行了你的代码,在将23.6和10.9声明为float后,它对我来说很好。
float []nums={23.6f,35,5,4,4,3,10.9f,2,45,56};
答案 2 :(得分:0)
您应该将f附加到带有小数点的每个常量数,以使Java编译器像浮点数一样读取它。
如果你没有,它会把它读成双倍。
您的选择是: