Wpis z mikrobloga

#java #programowanie ok mam zrobic funkcje ktora przyjmuje tablice 8x8 :D dobra tu nie ma problemu, potem ta funkcja ma zliczyc jaki numer najwiecej sie powtarza i tutaj wlasnie mam problem, bo nie mam jakiegos wedlug mnie optymalnego pomyslu na to, znaczy sie tablica bedzie wypelniona losowymi liczbami od 3 do 5, ale tu nie o to chodzi ze ja zrobie 3, 4 i 5 mi sprawdzi i potem powie co najwiecej razy wystapilo, chcialbym aby ten program byl jak najbardziej elastyczny i odporny na zmiany, jezeli trzeba bedzie zwiekszyc zakres liczb :) ktos ma jakis pomysl jakby to najlepiej zrobic, i policzyc jaka liczba ile razy najczesciej wystepuje? jakies wskazowki?
  • 26
@porque: utwórz sobie do tego tablicę mieszającą, która będzie kojarzyć cyfrę jako klucz, a jako wartość - ilość wystąpień. Potem przechodząc po elementach mapy szukasz największej ilości wystąpień w wartościach. Na koniec zwracasz klucz - czyli liczbę.
@courso: ale ja liczby mam wlasnie wylosowane D: to to zrobilem :D tylko nie wiem jak to ladnie zliczyc, i wlasnie o ten pomysl na liczenie sie pytam :D bo liczby losowo wypelnione od 3 do 5 to mam zrobione :D
@mitoman: ale wlasnie chce zrobic, aby ten program byl jak najbardziej elastyczny jak zrobie zakres losowych liczb od 1 do 9 to bym musial dodac nowe zmienne i nowe inkrementacje :D a tego chce uniknac :)
@porque: moze to cos pomoze

The key here is to use Collections.max.

Returns the maximum element of the given collection, according to the natural ordering of its elements.

The natural ordering for Integer is from least-to-greatest, i.e. ascending. This makes it perfect to use here.

int largest = Collections.max(Arrays.asList(integer1, integer2, integer3,

integer4, integer5));

Alternatively, you could just build the List using a loop instead. See below for code that prompts the
@fir3fly: wlasnie o to chodzi, ze to nie sa wymagania :/ tylko opsi o co w tym wszystkim chodzi, a wymagan opisanych co do aplikacji nie ma :( nawet sam dla siebie dla treningu nie wiem jakby to mialo wygladac :/
@ignacy130: pytanie, czy moge zrobic w slowniku cos takiego jak w array? ze biore pozycje? tak jak w array[2] np to tak samo slownik[2] czy jakos tak? bo w sumie chcialem zrobic toArray wartosci i klucze, ale mi mowi ze nie moze :/ nie wiem jak tego uzyc :/
@porque: hmmm w sumie to wypowiadałem się na podstawie swojej wiedzy z C#, ale w Javie chyba też jest. na algorytmach robiliśmy tak: braliśmy pierwszą liczbę, dodawaliśmy do słownika, przy każdej kolejnej sprawdzaliśmy czy już jest w słowniku: tak - inkrementowaliśmy licznik, nie - dodawaliśmy liczbę do kluczy. teraz wiem, że można by to zrobić Linq. odpowiednikiem może być tablica dwuwymiarowa, tylko nie ma ona takiej fajnej funkcjonalności jak klucze.