Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中将整数数组传递给Compariable 公共类堆栈{ 公共静态void main(字符串[]args){ //字符串[] //姓名={“新闻”、“询问”、“男人”、“querty”、“郎”、“爱”、“波比”、“斑马”、“你好”}; int[]name={3153438776,90123,33};//显示一个错误 选择秒=新选择(); 第二节分类(名称); for(int i=0;i_Java_Sorting_Comparable - Fatal编程技术网

在java中将整数数组传递给Compariable 公共类堆栈{ 公共静态void main(字符串[]args){ //字符串[] //姓名={“新闻”、“询问”、“男人”、“querty”、“郎”、“爱”、“波比”、“斑马”、“你好”}; int[]name={3153438776,90123,33};//显示一个错误 选择秒=新选择(); 第二节分类(名称); for(int i=0;i

在java中将整数数组传递给Compariable 公共类堆栈{ 公共静态void main(字符串[]args){ //字符串[] //姓名={“新闻”、“询问”、“男人”、“querty”、“郎”、“爱”、“波比”、“斑马”、“你好”}; int[]name={3153438776,90123,33};//显示一个错误 选择秒=新选择(); 第二节分类(名称); for(int i=0;i,java,sorting,comparable,Java,Sorting,Comparable,我能够在选择类sort()方法中将字符串数组传递给Comparable[],并对其进行排序,但将int数组传递给sort()会显示Comparable[]不适用于int[]的错误!!我需要用相同的代码对所有类型的数据进行排序!请帮帮我 使用Integer而不是intint不是一个类,没有compareTo方法。使用Integer而不是intint不是一个类,没有compareTo方法。int是一个基本类型,而Comparable是一个引用类型。改为使用引用类型Integer,它是Comparab

我能够在选择类sort()方法中将字符串数组传递给Comparable[],并对其进行排序,但将int数组传递给sort()会显示Comparable[]不适用于int[]的错误!!我需要用相同的代码对所有类型的数据进行排序!请帮帮我

使用
Integer
而不是
int
int
不是一个类,没有compareTo方法。

使用
Integer
而不是
int
int
不是一个类,没有compareTo方法。

int
是一个基本类型,而
Comparable
是一个引用类型。改为使用引用类型
Integer
,它是
Comparable

int
的子类型,而
Comparable
是一种基本类型,而
Comparable
是一种引用类型。改为使用引用类型
Integer
,它是Java中
Comparable

的一个子类型,数组是协变的,这意味着如果类
C
实现接口
I
,那么
C[]
可以被视为
I[]
。另一方面,
String
类实现了
Comparable
接口,因此
String
s的数组可以看作是
Comparable
s的数组,但是
int[]
是一个基元
int
的数组,并且
int
不实现任何接口。在Java中,数组是协变的,这意味着如果类
C
实现接口
I
,那么
C[]
可以被视为
I[]
。另一方面,
String
类实现了
Comparable
接口,因此
String
s的数组可以看作是
Comparable
s的数组,但是
int[]
是一个基元
int
的数组,并且
int
不实现任何接口。您应该使用Integer[]

您应该使用Integer而不是int。

您应该使用Integer而不是int。

您应该使用Integer而不是int。

字符串
实现了类似的接口
int
不是对象,也不是。请使用整数对象,而不是原语int
String
实现可比较的接口
int
不是对象,所以不是。请使用整数对象,而不是原语int
public class Stack {

    public static void main(String[] args) {
        // Strings[]
        // names={"news","ask","man","querty","lang","love","poppye","zebra","hello"};
        int[] names = { 31, 5343, 8776, 90, 123, 33 };// shows me an error
        Selection sec = new Selection();
        sec.sort(names);
        for (int i = 0; i < names.length; i++) {
            System.out.println(names[i]);
        }
    }
}

class Selection {
    int valNow;

    public void sort(Comparable[] names) {
        for (int i = 0; i < names.length; i++) {
            boolean swapOn = false;
            int min = -200;
            int pointer = 0;

            for (int j = i + 1; j < names.length; j++) {

                if (less(names[i], names[j])) {
                    if (valNow > min) {
                        min = valNow;
                        pointer = j;
                        System.out.println("Pointer:" + pointer + " "
                                + "Highest:" + min);
                        swapOn = true;
                    }
                }
            }
            if (swapOn) {
                swap(names, i, pointer);
            }
        }

    }

    public void swap(Comparable[] name, int x, int y) {
        System.out.println("Gonna swap:" + name[x] + " and " + name[y]);
        Comparable inter = name[x];
        name[x] = name[y];
        name[y] = inter;

    }

    public boolean less(Comparable one, Comparable two) {
        boolean send = false;

        valNow = one.compareTo(two);
        System.out.println(valNow);
        if (valNow > 0) {
            send = true;
        } else if (valNow == 0) {
            send = true;
        }

        return send;
    }
}