Zmienne tablicowe-wyszukiwanie wybranych wartości

Zmienne tablicowe-wyszukiwanie wybranych wartości
SA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
0

Witam, otóż mam za zadanie wyświetlenie 2 najmniejszych wartości z tablic, wiem jak zadeklarowac zeby wyswietlal jedna, ale z dwoma juz sam nie wiem czemu nie mam pomysłu. Dodatkowo wiem jak wyswietlic czas najszybszego biegacza, ale nie mam pojecia jak wyszukac odpowiednią wartość stringa, który jest przypisany do danego czasu. Czy ktoś mógłby pomóc?

kod:

Kopiuj
class Maraton
{
    public static void main( String [] args)
    {
        String[] ludzie= {
            "Andrzej" , "Janusz" , "Marta" , "Alojzy" , "Sylwester" , "Daria" , "Tomasz" , "Mateusz" , "Paulina" , "Przemek" , "Adam" , "Ania" , "Ola" , "Sylwia" , "Mariusz"};
         int [] czasy = {
             265, 333, 305, 258, 350, 289, 400, 354, 300, 212, 289, 311, 412, 422, 287};
         for (int i=0; i < ludzie.length; i++)
         {
             System.out.println(ludzie [i] + ": " + czasy[i]);
            }
        }
    }
 

Ogólnie chodzi o to ze mam podane czasy biegu maratończyków i chcę aby program wyświetlił mi 2 najszybszych biegaczy.

Kandif
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 231
0
Kopiuj
import java.io.*;
import java.util.*;
 
 
public class Moreover {
public static void main( String [] args)
    {
        int max1=0,max2=1;
        String[] ludzie= {
            "Andrzej" , "Janusz" , "Marta" , "Alojzy" , "Sylwester" , "Daria" , "Tomasz" , "Mateusz" , "Paulina" , "Przemek" , "Adam" , "Ania" , "Ola" , "Sylwia" , "Mariusz"};
         int [] czasy = {
             265, 333, 305, 258, 350, 289, 400, 354, 300, 212, 289, 311, 412, 422, 287};
         for (int i=0; i < ludzie.length; i++)
         {
            if(czasy[i]<czasy[max1]) {max2=max1;max1=i;}
            else  if((czasy[i]<czasy[max2])&&(czasy[i]!=czasy[max1])) max2=i;
            System.out.println(ludzie [i] + ": " + czasy[i]);
         }
        System.out.println("\nNajszybciej pobiegł "+ludzie[max1]+" z czasem "+czasy[max1]);
        System.out.println("Z drugim czasem pobiegł "+ludzie[max2]+" w "+czasy[max2]);
        }
    }
SA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
0

ale ja mam wyswietlic 2 najszybszych, a nie najszybszego i najwolniejszego

remigio
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 357
0

zrób np. sortowanie metodą bąbelkową (przykładów mnóstwo w internecie. Uprzednio wrzuć czasy i imiona do HashMap'y (kluczem wówczas będzie czas a nie imię biegacza)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.