浮点型的顺序数组,在java的子顺序中

浮点型的顺序数组,在java的子顺序中,java,Java,我是Java的新手。我需要为order后代排序一个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[

我是Java的新手。我需要为order后代排序一个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]);
        }
    }

}
packagejava1;
导入java.util.array;
导入java.util.Collections;
公共类命令{
公共静态void main(字符串[]args){
float[]nums={23.6,35,5,4,4,3,10.9,2,45,56};
Float[]floatArray=新浮点[nums.length];
对于(int i=0;i
关键是将浮点数传递给浮点数组。ie将
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]);
    }
float[]nums={23.6f、35f、5f、4f、4f、3f、10.9f、2f、45f、56f};
Float floatArray[]=新浮点[nums.length];
对于(int i=0;i
我运行了您的代码,在将23.6和10.9声明为float之后,它运行良好

float []nums={23.6f,35,5,4,4,3,10.9f,2,45,56};

您应该在每个常量后面加上一个小数点,使Java编译器像读取浮点一样读取它

如果你不这样做,它会读作一个双精度的

你的选择是:

  • 在每个数字后面加上一个小数点
  • 使用“Double”而不是“Float”
  • 但是我的代码似乎不起作用。您的大量调试揭示了什么?