Keresés

Új hozzászólás Aktív témák

  • Sirpi
    senior tag

    Nem vagyok még teljesen a téma szakértője, valaki biztos szebb választ is tud majd adni, de

    Azt hiszem amit kiír az maga a memóriacím ahol a tömböd található, lévén a referencia típusú változók egy referenciát(hivatkozást) tárolnak el.

    Az Arrays.toString(tombodValtozoNeve)) amivel megkapod emészthetőbben a tömb tartalmát, vagyis az Arrays osztály toString metódusával.

    Ha nem így lenne javítsatok ki.

    A tömböknek (szándékosan) nincs felülvágva a toString() metódusa, ez amit látsz, kb. a tömb hashCode-ja (az Object osztály implementációja fut le).
    Az Arrays.toString tényleg megoldja a problémát, de ha nem teszel bele effortot, akkor valóban nem írja ki emberi módon a tartalmat. Így pl. ajánlás, ha password fieldet kell a backenden metódusok között átpasszolni, akkor char[] legyen a típus és ne String, nehogy véletlenül bekerüljön a jelszó a logba.

  • Drizzt
    nagyúr

    Üdv, szerintetek az alábbi feladatot meg lehet oldani jobban, elegánsabban is?

    A metódus kap egy egész számokból álló listát, meg kell számolni benn a növekvő sorozatokat. Pl (1, 2, 3, 1, 2, 3, 1) ebben van kettő.

    Az én megoldásom:
    public int numberOfIncSeries(List<Integer> numbers) {

    int count = 0;
    boolean inc = false;

    for (int i = 1; i < numbers.size(); i++) {
    if (numbers.get(i - 1) <= numbers.get(i)) {
    inc = true;
    } else {
    if (inc) {
    inc = false;
    count++;
    }
    }
    }
    count = inc ? count + 1 : count;
    return count;
    }

    Sokkal szebb szerintem nincsen sajnos. Én picit gyakoroltam TDD-t rajta, nagyjából ez jött ki belőle:
    [link]
    ListSequenceFinder.findSeq a metódus, ListSequenceFinderTest tartalmazza a 18 Test case-et. Sajnos a formázást valamiért elcseszte csúnyán.

Új hozzászólás Aktív témák