はてなブックマークのコメントにJavaのコードを書いてみた
長いと評判のJavaのソースコードを、はてブのコメントに書けるかどうか試してみたくなりました。
とりあえず何も考えずに書いたコード。整数「n」の中に「x」の桁があるか判定する関数。
boolean q(int n,int x){if(n%10==x)return true;if(n<10)return false;return q(n/10,x);}
もっと短くしよう。「3」を固定にする。仕様が変わるけど質問者の要件からは外れてないので気にしない。
boolean q(int n){if(n%10==3)return true;if(n<10)return false;return q(n/10);}
三項演算子を使ってもっと短くしよう。
boolean q(int n){return n%10==3?true:n<10?false:q(n/10);}
もっといけるか
boolean q(int n){return n%10==3||n>=10&&q(n/10);}
うわー。なんだこりゃー。
障害報告
「-12345」みたいな、マイナスの数を与えたら動きがおかしくなりました。なんてこったい。
ナベアツがマイナスの数に興味を持たないことを祈るばかりです。