Devuelve los dos enteros más grandes en una matriz de valores

Estoy intentando devolver los dos enteros más grandes de mi matriz int. Puedo devolver la multa más grande y la más pequeña, pero no puedo hacer que mi algoritmo devuelva las dos más grandes. Cualquier ayuda es muy apreciada aquí.

Por favor perdona cualquier error en mi código. Esta es una sesión de práctica y la pregunta ha sido tomada del material de examen de la universidad del año pasado.

Aquí está mi código:

public class TwoLargestIntsArray {

public static void main(String [] args){

    int [] values = new int[5];

    values[0] = 5;
    values[1] = 10;
    values[2] = 15;
    values[3] = 20;
    values[4] = 25;

    System.out.println(twoLargest(values));
    System.out.println();

}

public static int twoLargest(int values[]){

    int largestA = values[0];
    int largestB = values[0];

    for(int i = 0; i < values.length; i++){

            if(values[i] > largestA){
                largestA = values[i];
            }
            if(values[i] < largestA){
                largestB = values[i];   
            }

    }
    return largestA + largestB; 
}

}

Respuestas a la pregunta(16)

Su respuesta a la pregunta