お世話になっております。
現在以下の課題を解き進めております。
lang
1/*1から50まで順に数を表示する。 2ただし、その数が3の倍数の付く数字の場合、数字の後に!を表示する。 3 45の倍数の場合は、数字の後に?と表示する。 5両方の条件に合致した場合、数字の後に!?と表示する。* 6/
僕なりにはそこそこ綺麗に書けたと思ったのですが、
3でも5の倍数でもない数値まで全てString変換するのはロスだと言われました。
しかしifの後に文字列変換を行うと、3の倍数のifで宣言して5でも宣言・・・
となると、3の倍数かつ5の倍数の時に"!"が"?"で上書きされてしまいます。
どうか記号がつかない数字に手を加えず!と?を綺麗に加える方法を教えて下さい。
lang
1public class Forked { 2 public static void main(String[] args) { 3 for (int i = 1; i <=50; i++){ 4 //String変数numberにiを変換 5 String number = String.valueOf(i); 6 7 //3の倍数の時numberに"!"を追加 8 if (i % 3 == 0){ 9 number = number + "!"; 10 } 11 12 //5の倍数の時numberに"?"を追加 13 if(i % 5 == 0){ 14 number = number + "?"; 15 } 16 //表示 17 System.out.println(number); 18 } 19 } 20 21}
回答5件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/04/27 07:20