Jaki jest problem Fizzbuzz w Javie

Jaki jest problem Fizzbuzz w Javie
W podstawowym programowaniu Java mogą wystąpić przypadki, w których chcesz poprawić programowanie i umiejętności logiczne. Mówiąc dokładniej, umożliwiając początkującym stworzenie nieco trudnego algorytmu lub tworzenie logiki. Ponadto, aby pobrać niektóre filtrowane wartości na podstawie wymagań. W takich przypadkach „Fizzbuzz„Problem w Javie pomaga początkującym w zwiększaniu ich umiejętności kodowania.

W tym artykule pokazuje zasady i wdrożenie problemu „fizzbuzz” w Javie.

Jaki jest problem „fizzbuzz” w Javie?

„„Fizzbuzz„Problem odpowiada gry w prawdziwym życiu, w którą gra grupa ludzi o następujących zasadach:

  • Sekwencja zakrętów jest rozstrzygana przed rozpoczęciem gry.
  • Pierwszy gracz inicjuje, określając dowolny numer, i.mi., "1".
  • Następny gracz mówi następny numer i tak dalej.
  • Trudne jest to, że słowo „Syczeć”Mówi się zamiast liczby jest wielokrotnie„3".
  • Podobnie słowo „Brzęczeć”Mówi się, jeśli (liczba) jest wielokrotnością„5".
  • Jeśli jednak liczba jest wielokrotnością obu liczb ”3" I "5", słowo "Fizzbuzz”Zamiast tego jest używany.

Notatka: Reguły dla liczb określonych powyżej mogą się zmienić, i.mi., "11" I "13"Itd.

Jak wdrożyć problem „fizzbuzz” w Javie?

Aby wdrożyć „Fizzbuzz„Problem w Javie zastosuj następujące podejścia:

  • "Jeśli inaczej" Oświadczenie.
  • "Potrójny„Operator.
  • "maptoobj ()" I "RangeClosed ()”Metody.

Poniższe podejścia zastosują sprawdzenie liczb „3" I "5”I wywołaj odpowiednie słowo.

Podejście 1: Wdrożenie problemu „FizzBuzz” w Javie za pomocą instrukcji „If/Else”

„„Jeśli inaczej”Oświadczenie o określonym stanie i wywołuje odpowiednią instrukcję. Niniejsze stwierdzenie można zastosować do zastosowania kontroli po wystąpieniu liczb zgodnie z zasadami.

Przykład

Przeglądajmy poniższy przykład:

Klasa publiczna Fizzbuzz
public static void main (string args [])
dla (int i = 1; i <= 20; i++)
if (i % 3 == 0 && i % 5 == 0)
System.na zewnątrz.println („fizzbuzz”);

Else, jeśli (i % 3 == 0)
System.na zewnątrz.println („Fizz”);

else jeśli (i % 5 == 0)
System.na zewnątrz.println („Buzz”);

w przeciwnym razie
System.na zewnątrz.println (i);

Zgodnie z powyższym kodem zastosuj następujące kroki:

  • Po pierwsze, zastosuj „Do„Pętla, aby iterować wzdłuż liczb całkowitych20".
  • W tym zakresie sprawdź, czy liczby są wielokrotnie „obu”3" I "5”Sprawdzając, czy są całkowicie podzielne, a pozostała pozostała pozostała w tyle.
  • Według zadowolonego warunku zaloguj się słowo „Fizzbuzz”Zgodnie z zasadami.
  • Podobnie po wystąpieniu liczb jest wielokrotnie „3”, Zaloguj słowo„Syczeć".
  • Podobnie wyświetl słowo „Brzęczeć”Jeśli liczba jest wielokrotnością„5".
  • W "w przeciwnym razie”Warunki sama liczba zostanie wyświetlona na konsoli.

Wyjście

W tym wyjściu można zaobserwować, że odpowiednie słowa zastępują liczby, które są wielokrotnościami „3”,„5" lub oba.

Podejście 2: Wdrożenie problemu „FizzBuzz” w Javie za pomocą „operatora ternie”

„„Potrójny”Operator sprawdza również określony warunek i wywołuje odpowiedni blok na podstawie zadowolonych lub niezadowolonych warunków. Ten operator można wykorzystać w połączeniu z „wartość()„Metoda, aby również sprawdzić warunek podziału i zarejestrować odpowiedni wynik jako ciąg.

Składnia

(stan : schorzenie) ? (WZYWAJ, jeśli prawda): (invoke If False);

Przykład

Przejrzyjmy następujący przykład, aby zrozumieć określoną koncepcję:

klasa publiczna FizzBuzz2
public static void main (string args [])
dla (int i = 1; i <= 20; i++)
String wyjściowy = (i % 3 == 0 ? (i % 5 == 0 ? „Fizzbuzz”: „Fizz”):
(i % 5 == 0 ? „Buzz”: String.wartość (i)));
System.na zewnątrz.println (wyjście);

Zgodnie z tym fragmentem kodu wykonaj następujące kroki:

  • Podobnie, zawiera „Do”Pętla, aby iterować wzdłuż liczb całkowitych do określonego limitu.
  • W tym zakresie sprawdź warunek tak, że jeśli liczba jest wielokrotnością „3”, Wzywaj poprzedni stan po„?". Jeśli ten wywołany warunek (wiele z 5) również zostanie zadowolony, zaloguj się słowo „Fizzbuzz".
  • W przypadku tylko poprzedniego stanu zwróć słowo „Syczeć".
  • W przeciwnym razie uzyskaj dostęp do drugiego bloku w następnym wierszu. Podobnie sprawdź poprzedni stan zadowolony i zwróć słowo „Brzęczeć".
  • W drugim przypadku zaloguj się samą wartość jako ciąg za pomocą powiązanego „wartość()" metoda.
  • Na koniec zaloguj odpowiedni wynik na każdej iteracji.

Wyjście

Przed przejściem do następnego podejścia upewnij się, że dołącz następujące pakiety, aby umożliwić wprowadzanie użytkownika i manipulować „int”Odpowiednio wartości.

Importuj Java.Util.Skaner;
Importuj Java.Util.strumień.Intstream;

Podejście 3: Wdrożenie problemu „FizzBuzz” w Javie za pomocą metod „maptoobj ()” i „rangeclosed ()

„„maptoobj ()„Metoda„Intstream„Interfejs jest wykorzystywany do zwrócenia strumienia o wartości obiektowej i„RangeClosed ()”Metoda zwraca sekwencyjny uporządkowany intstream. Metody te można zastosować w połączeniu z „Potrójny„Operator, aby zwrócić odpowiednie słowo zamiast liczby całkowitej w zakresie wprowadzania użytkownika.

Składnia

statyczne intstream Rangeclosed (int pierwszy, int last)

W tej składni:

  • "Pierwszy”Odnosi się do wartości, w tym pierwszej wartości.
  • "ostatni”Wskazuje na ostatnią wartość.

Przykład

Rozważ poniżej podany przykład:

Klasa publiczna FizzBuzz3
public static void main (string args [])
Skaner wejściowy = nowy skaner (system.W);
System.na zewnątrz.drukuj („Wprowadź limit końcowy: \ n”);
int inInteger = wejście.NextIt ();
Intstream.Rangeclosed (1, inInteger).maptoobj (i-> i%3 == 0?(i%5 == 0? „Fizzbuzz”: „Fizz”) :( i%5 == 0? „Buzz”: i+"")).Foreach (system.OUT :: drukuj);
wejście.zamknąć();

W powyższych wierszach kodu wykonaj następujące kroki:

  • Po pierwsze, stwórz „Skaner„Obiekt za pośrednictwem„nowy”Słowo kluczowe i„Skaner ()”Konstruktor odpowiednio.
  • „„System.W”Parametr odczytuje wejście.
  • Następnie skojarz „NextIt ()”Metoda uzyskania danych wejściowych jako liczby całkowitej.
  • Teraz skojarz „RangeClosed ()„Metoda z„Intstream”Interfejs i określ zakres, odwołując się do wartości wprowadzania użytkownika.
  • Zastosuj także „maptoobj ()”Metoda wraz z operatorem trójskładnikowym, aby zwrócić strumień wartości obiektu.
  • Notatka: Funkcjonalność wykonywana w operatorze trójskładnikowym jest identyczna z poprzednim podejściem.
  • Na koniec zastosuj „dla każdego()„Metoda wyświetlania wszystkich wartości i zamykania skanera za pomocą„zamknąć()" metoda.

Wyjście

Ten wynik oznacza, że ​​sekwencyjny „Intstream”Jest zwracany zgodnie z zakresem wejściowym.

Wniosek

Aby wdrożyć „Fizzbuzz„Problem w Javie, zastosuj„Jeśli inaczej„Oświadczenie,„Potrójny„Operator lub„ ”maptoobj ()" I "RangeClosed ()”Metody. Podejścia te stosują kontrolę określonego lub wejścia użytkownika liczb całkowitych i zwracają odpowiednie słowo zgodnie z grą, i.mi., Reguły „Fizzbuzz”. Ten blog jest prowadzony w celu omówienia problemu „Fizzbuzz” w Javie.