McLaren
McLaren

Reputation: 776

JAVA incompatible type value

Hello stackoverflow community. I need help, I'm new in JAVA. I've created this:

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

In order to find all bigger values then minimalus and write them to new array. But i get error because of this line:

Modulis min = minimalus;

Eror is: incompatible types; required Modulis; found int; What is wrong here please help!

Upvotes: 0

Views: 102

Answers (2)

Slava Vedenin
Slava Vedenin

Reputation: 60094

Problem: you try to save int value to Modulis type, it's impossible in Java, you need use

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

or

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

or

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

Upvotes: 3

childofsoong
childofsoong

Reputation: 1936

Based on your comment, I'm guessing that Modulis.gautiKreditus() returns an int, which you meant to compare with the min value. As such, just declare min as an int (or don't declare it at all, as you're just using the value passed in):

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

Now you're comparing int's to int's, and there's no need to put the minimum value into another variable.

Upvotes: 3

Related Questions