Witam, robię program który wyznacz drugą największą liczbę w zbiorze.
Użytkownik podaje n=6 i w tym momencie losują się liczby z przedziału 0-1 sześć razy.
Napisałem coś takiego jednak mam problem ze znalezieniem drugiej największej liczby, czy ktoś wie jak to zrobić?
import java.util.*;
import java.lang.Math;
public class JavaApplication {
private static Random random = new Random();
private static Scanner input = new Scanner(System.in);
public static void main(String[] args) {
int n, i;
System.out.println("Podaj ilosc liczb, ktroe chcesz wprowadzic: ");
n = input.nextInt();
double[] liczby = new double[n];
i = 0;
int losowy;
while (i < n) {
liczby[i] = random.nextInt(100);
liczby[i] = liczby[i] / 100;
i = i + 1;
}
int index;
for (i = 0; i <= n - 1; i++) {
System.out.println(Integer.toString(i + 1) + ". " + liczby[i]);
}
double max;
max = liczby[0];
int j;
int second;
for (j = 0; j <= n - 1; j++) {
if (max <= liczby[j]) {
max = liczby[j];
index = j + 1;
second = liczby[i - 1];
}
}
System.out.println("Losowe: " + second + " index: " + index);
}
}