2015-12-14 152 views
0

你好,stackoverflow社區。我需要幫助,我是JAVA新手。我創建了這一點: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; 

Eror是:不兼容的類型;需要Modulis;找到int; 這裏有什麼不對,請幫忙!

+0

'minimalus'是'int'類型。 'min'屬於'Modulis []'類型。您只能將一個類型爲「Modulis」的值賦給一個聲明爲該類型的變量。有沒有辦法從'int'中創建一個'Modulis'?也許一個接受'int'參數的構造函數?或者你是否只是說'if(min childofsoong

+0

@soong yea我的意思是if(min McLaren

回答

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; 
} 
3

您評論,我猜Modulis.gautiKreditus()返回int,你打算比較e與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; 
} 

現在你比較int年代到int的,並且不需要將最小值放入另一個變量中。