前提・実現したいこと
初めまして。
現在JavaでFizzBuzz問題を解いています。
標準入力された数字までを1から順に出力されるように実装しています。
基本的な実装は完成したのですが意図していない数値が
「数字を入力してください」直後に出力されてしまいます。
理想な完成形としては下のように
「数字を入力してください」 → 「入力された数字: xx」
です。
どなたかご教授の方お願い致します。
数字を入力してください 入力された数字: 20 1 2 Fizz
数字を入力してください 20 //これを出力させたくない 入力された数字: 20 1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16 17 Fizz 19 Buzz
該当のソースコード
java
1import java.util.Scanner; 2 3public class Fizzbuzz { 4 5 private static String fizzbuzz(int num) { 6 if (num % 5 == 0 && num % 3 == 0) return "FizzBuzz"; 7 if (num % 5 == 0 ) return "Buzz"; 8 if (num % 3 == 0) return "Fizz"; 9 10 return Integer.toString(num); 11 } 12 13 public static void main(String[] args) { 14 15 System.out.println("数字を入力してください"); 16 Scanner input = new Scanner(System.in); 17 int targetNumber = input.nextInt(); 18 System.out.println("入力された数字: " + targetNumber); 19 input.close(); 20 21 for (int i = 1; i<=targetNumber; i++) { 22 System.out.println(fizzbuzz(i)); 23 } 24 } 25}
回答1件
あなたの回答
tips
プレビュー