プログラミング問題

どうしてプログラマに・・・プログラムが書けないのか?
この記事で紹介されていた問題をJavaで解きましたよ(`・ω・´)
問題というのはこれです。

1から100までの数をプリントするプログラムを書け。ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。


ちなみにこの問題は、上のリンクから抜粋すれば

コンピュータサイエンス学科卒業生の過半数にはそれができないのだ。自称上級プログラマが答えを書くのに10-15分もかかっているのを見たこともある。


という問題。コンピュータサイエンス学科卒業生や自称上級プログラマが解けない問題では当然無い、初歩的な問題なのに彼らは解けなかったそうです。単に勉強不足なのか、それとも普段はもっと難しいプログラムを書いていて、いざ簡単な文で簡単なプログラムを書こうとすると、すっぱりと基本知識を忘れてしまっているのかもしれません。よくある「足元がお留守だぜ!」とうことですね。


というわけで勉強中のJavaで解いてみたコードはこれ

>|java|


public class ProgramTest {

public static void main(String[] args) {

int i;
for(i=1; i<=100; i++){
if(i%3 == 0 && i%5 == 0i%15==0){/*ご指摘いただきました。
こっちの方が簡潔ですね。ありがとうございます。*/
            System.out.println("FizzBuzz");
continue;//なぜかcontinueが混在してたので訂正
}
else if(i%3 == 0){
System.out.println("Fizz");
}
else if(i%5 == 0){
System.out.println("Buzz");
}
else{
System.out.println(i);
}
}
}
}

|