2015-10-16 2 views
-2

Я пытаюсь создать кусок кода для игры 'fizzbuzz', если n | 3 => n = Fizz, если n | 5 => n = Buzz и если n | 3 и n | 5 затем n = Fizzbuzz.FizzBuzz, код java

По какой-то причине мой код отображает только 46 строк кода, может кто-то мне помочь? Благодарю.

Вот мой код:

import static java.lang.Math.*; 
import java.io.*; 

public class P2InventedExercise 
{ 
    static void FizzBuzz(int n) 
    { 

     /** Welcome Message **/ 
     System.out.println("+----------------------------+"); 
     System.out.println("| WELCOME TO FIZZ BUZZ |"); 
     System.out.println("+----------------------------+"); 


     /** Creating Strings to Print & Defines integer 'k'. **/ 
     String Fizz = "Fizz"; 
     String Buzz = "Buzz"; 
     String FizzBuzz = "FizzBuzz"; 
     int k = 0; 

     /** Printing Strings **/ 
     while (k <= n) 
      { 
       /** Boolean Tests **/ 

       boolean FizzTest = (k%3 == 0); 
       boolean BuzzTest = (k%5 == 0); 
       boolean FizzBuzzTest = (k%3 == 0 && k%5 == 0); 

       /** If Tests **/ 

       if (FizzBuzzTest) 
       { 
        System.out.println(k+"= " + FizzBuzz); 
        k=k+1; 
        continue; 
       } 
       if (FizzTest) 
       { 
        System.out.println(k + "= " + Fizz); 
        k=k+1; 
        continue; 
       } 
       else if (BuzzTest) 
       { 
        System.out.println(k + "= " + Buzz); 
        k=k+1; 
        continue; 
       } 
       else 
       { 
        System.out.println(k + "= " + k); 
        k=k+1; 
        continue; 
       } 
      } 
    } 
} 
+0

, пожалуйста, опишите, что является предполагаемым поведением. – skypjack

+3

Какова ценность 'n'? –

+0

FizzBuzz - игра, в которой, если n | 3, n присваивается слово Fizz, если n | 5, n присваивается слово Buzz, и если n делит оба 3 & 5, то n присваивается FizzBuzz. Программа делает это от 0 до n, где n выбирается пользователем. Проблема в том, что я выбираю n = 100, программа отображает только 46 строк текста, поэтому она отображает из n = 54, но она должна начинаться с n = 0. – GentleCynic

ответ

0

код выглядит почти нормально, проверьте, что это n. Кроме того, обратите внимание, что вы еще не потеряли во втором выражении if. Это должно быть:

else if (FizzTest) 
+0

Спасибо, что ответили, я меняю второе «если» на «else if», хотя он по-прежнему отображает только 46 строк текста. Поэтому, если я ставлю n = 100, он начнется с «54 = Fizz». Не от 0.: S – GentleCynic

+0

Хорошо работает со мной: https://ideone.com/UNvQMt Пожалуйста, убедитесь, что n не изменен по пути FizzBuzz –

+0

Или результаты не отображаются из-за высоты окна. Попробуйте прокрутить вверх или запустить меньшее значение n для проверки. Используйте паузу, если вы не можете прокручивать или перенаправлять текстовый файл. –