Problem z tworzeniem Setu

Problem z tworzeniem Setu
KI
  • Rejestracja:około 7 lat
  • Ostatnio:prawie 6 lat
  • Postów:21
0

Siema ma do wykonania takie zadanie :

Kopiuj
package com.javarush.test.level08.lesson08.task01;

import java.util.HashSet;
import java.util.Set;

/* 20 words beginning with «L»
Create a set of strings (Set<String>), place into it 20 words beginning with «L».
*/

public class Solution
{
    public static HashSet<String> createSet()
    {
        HashSet<String> list = new HashSet<String>();
        list.add("L1");
        list.add("L2");
        list.add("L3");
        list.add("L4");
        list.add("L5");
        list.add("L6");
        list.add("L7");
        list.add("L8"); 
        list.add("L9");
        list.add("L10");
        list.add("L11");
        list.add("L12");
        list.add("L13"); 
        list.add("L14"); 
        list.add("L15"); 
        list.add("L16");
        list.add("L17");
        list.add("L18");
        list.add("L19");
        list.add("L20");
        return list;
    }
}

niestety choć program się kompiluje to nie chcę przejść jako poprawnie wykonany i dodać punkty. Może ktoś coś poradzić?

Silv
Poza pytaniem: czy jest jakieś uzasadnienie, żeby dodawać tak 20 elementów? Czy nie lepiej zrobić to w pętli?
KI
w treści zadania nie było nic o pętli więc obstawiam że należy to zrobić w ten sposób. Zawsze mówią kiedy użyć pętli.
Silv
Rozumiem, dzięki.
szweszwe
  • Rejestracja:ponad 11 lat
  • Ostatnio:4 dni
  • Lokalizacja:Kraków
  • Postów:1694
0

Gdzie nie chcesz przejść? Jaka jest treść zadania?

Zobacz pozostałe 2 komentarze
KI
źle się wyraziłem program się kompiluje ale nie są przydzielane punkty za zadanie co oznacza że coś jest nie tak.
szweszwe
To może zrób Set<String> tak jak masz w treści zadania zamist HashSet<String>
KI
wtedy Ci się nawet nie skompiluje po dostajesz komunikat że zwracana wartość jest innego typu
szweszwe
Miałeś jakiś kawałek kodu? W sensie, ta funckja ma zwracać HashSet?
KI
tak, miałem po prostu uzupełnić funkcje by zwracała list.
lion137
  • Rejestracja:około 8 lat
  • Ostatnio:minuta
  • Postów:4924
0

Gdzie nie chce dodać punktów? Bo program działa i funkcja zwraca wymagany HashSet.


KI
program działa ale nie są przyznawane punkty więc obstawiam że zrobiłem coś nie tak dlatego się pytam czy nie robię czegoś źle
lion137
Widzę, że zwraca HashSet z L1, L2, .. i tak dalej, dlatego pytam gdzie to Uploadujesz?
KI
jest tak strona do nauki java o nazwie javarush po każdym lekcji musisz rozwiązać ileś tam zadań by przejść do następnej lekcji . albo jest to problem z serwerem albo muszą to zrobić innaczej.
lion137
OK, a teraz Skopiuj dokładnie i Wklej całą treść zadania.
KI
treść zadania masz w kodzie w postaci komentarza :)
lion137
  • Rejestracja:około 8 lat
  • Ostatnio:minuta
  • Postów:4924
0

To może nie Rób tego w funkcji tylko po prostu w metodzie main.


szweszwe
Pisał, że miał już tę funkcję,
jarekr000000
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 8 godzin
  • Lokalizacja:U krasnoludów - pod górą
  • Postów:4707
0

To mogli ludzie robić. Daj 20 słów składających się z liter.


jeden i pół terabajta powinno wystarczyć każdemu
lukaszek016
  • Rejestracja:około 9 lat
  • Ostatnio:ponad rok
  • Postów:249
0

Ale masz przecież zwrócić Set. Ustaw typ zwracany na set i stwórz obiekt HashSet i przypisz go do Set.

Kopiuj
Set<String> list = new HashSet<String>();
szweszwe
Przecież już pisał o tym wyżej. Ma zwrócić HashSet bo funkcja była już podana.
lukaszek016
Rozumiem, no ale z drugiej strony w poleceniu jest wyraźnie "Create a set of strings (Set<String>)," także może warto spróbować :)
KI
próbowałem wtedy nawet się nie skompiluje dobra muszę odpuścić sobie to zadanie widocznie
szweszwe
  • Rejestracja:ponad 11 lat
  • Ostatnio:4 dni
  • Lokalizacja:Kraków
  • Postów:1694
0

Dobra, trzy pomysły jeszcze, po małym researchu.

  1. Zrób sobie Set<String> - reszta tak samo i w miejscu gdzie masz return:
Kopiuj
return (HashSet)list
  1. Zamiast robić 20 razy add zrób tak:
Kopiuj
for(int i = 0; i < 20; i++)
   set.add("L" + i);
  1. Zamiast "L" zacznij słowo od Л

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.