0
0

JavaでFizzBuzzゲームを実装してみた

Last updated at Posted at 2024-08-12

概要

今回はjavaでFizzBuzzゲームのコードを書いてみました。
練習用で記述していますのでご承知ください。

ソースコード

実行用クラスです。

Main.java

public class Main {
    public static void main(String[] args){
        int input_num;

        System.out.println("Fizzbuzz-->start");
        Cal parts = new Cal();
        parts.init();//Fizzbuzzゲームの説明
        input_num = parts.get_num();//標準入力で整数値(1-99)を取得する
        System.out.println("Fizzbuzz-->input_num:" + input_num);
        parts.judge(input_num);//5の倍数:Fizz,5の倍数:Buzz,15の倍数:FizzBuzzかの判定
    }
}

設計図クラスです。

Cal.java
import java.util.Scanner;
public class Cal{
    //定数ならび文字列の定義
    public static final int ERROR_NUM = -1;
    public static final int BOTTOM_NUM = 1;
    public static final int TOP_NUM = 100;
    public static final int FIZZ = 3;
    public static final int BUZZ = 5;
    public static final int FIZZBUZZ = 15;
    public static final String FIZZBUZZ_STR = "FIZZBUZZ";
    public static final String FIZZ_STR = "FIZZ";
    public static final String BUZZ_STR = "BUZZ";

    //Fizzbuzzゲームの説明
    public void init(){
        String fizzbuzz = String.format("%d times = %s",FIZZBUZZ,FIZZBUZZ_STR);
        String fizz = String.format("%d times = %s",FIZZ,FIZZ_STR);
        String buzz = String.format("%d times = %s",BUZZ,BUZZ_STR);

        System.out.println(fizzbuzz);
        System.out.println(fizz);
        System.out.println(buzz);
    }
    //標準入力で整数値(1-99)を取得する
    public int get_num(){
        int num = ERROR_NUM;
        Scanner input = new Scanner(System.in);
        while (BOTTOM_NUM > num || TOP_NUM < num) {
            System.out.println("Please input 1 - 100:");
            num = input.nextInt();
            System.out.println("get_num:"+ num);
        }
        return num;
    }

    //5の倍数:Fizz,5の倍数:Buzz,15の倍数:FizzBuzzかの判定
    public void judge(int input_number){
        //15の倍数
        if (input_number % FIZZBUZZ == 0) {
            String text = String.format("%d>>>%s",input_number,FIZZBUZZ_STR);
            System.out.println(text);
        }
        //3の倍数
        else if (input_number % FIZZ == 0){
            String text = String.format("%d>>>%s",input_number,FIZZ_STR);
            System.out.println(text);
        }
        //5の倍数
        else if (input_number % BUZZ == 0){
            String text = String.format("%d>>>%s",input_number,BUZZ_STR);
            System.out.println(text);
        }
        //それ以外の数字
        else{
            String text = String.format("%d>>>not %s or %s or %s",input_number,FIZZBUZZ_STR,FIZZ_STR,BUZZ_STR);
            System.out.println(text);
        }
    }
}

実行方法です。

Readme.txt
1)上記のMain.java,Cal.javaをcopyする。
2)Main.javaが格納されたフォルダで以下を実行する。
javac .\Main.java
java Main
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0