JAVA不兼容的类型值

时间:2015-12-14 18:18:06

标签: java

Hello stackoverflow社区。我需要帮助,我是JAVA的新手。我创造了这个:

public static Modulis[] surasti_visus (Modulis G[], int n, int minimalus) {
    Modulis X[] = new Modulis[n];
    Modulis min = minimalus;
    for (int i=1; i<n; i++)
        if(min.gautiKreditus() < G[i].gautiKreditus()) X[i] = G[i];
    return X;
}

为了找到所有更大的值,然后minimalus并将它们写入新数组。但是由于这一行我得到了错误:

Modulis min = minimalus;

错误是:不兼容的类型;模数;发现int; 有什么问题请帮忙!

2 个答案:

答案 0 :(得分:3)

问题:你试图将int值保存到Modulis类型,在Java中是不可能的,你需要使用

public static Modulis[] surasti_visus (Modulis G[], int n, Modulis minimalus) {
    Modulis X[] = new Modulis[n];
    for (int i=1; i<n; i++)
        if(minimalus.gautiKreditus() < G[i].gautiKreditus()) X[i] = G[i];
    return X;
}

public static Modulis[] surasti_visus (Modulis G[], int n, int minimalus) {
    Modulis X[] = new Modulis[n];
    Modulis min = new Modulis(minimalus);
    for (int i=1; i<n; i++)
        if(min.gautiKreditus() < G[i].gautiKreditus()) X[i] = G[i];
    return X;
}

public static Modulis[] surasti_visus (Modulis G[], int n, int minimalus) {
    Modulis X[] = new Modulis[n];
    for (int i=1; i<n; i++)
        if(minimalus < G[i].gautiKreditus()) X[i] = G[i];
    return X;
}

答案 1 :(得分:3)

根据您的评论,我猜测Modulis.gautiKreditus()会返回int,您打算将其与min值进行比较。因此,只需将min声明为int(或者根本不要声明它,因为您只是使用传入的值):

public static Modulis[] surasti_visus (Modulis G[], int n, int minimalus) {
    Modulis X[] = new Modulis[n];
    for (int i=1; i<n; i++)
        if(minimalus < G[i].gautiKreditus()) X[i] = G[i];
    return X;
}

现在您将intint进行比较,并且无需将最小值放入另一个变量中。<\ n / p>