そんな手が…!
switch文のところ勉強してるときに驚かされたというか、以前誰かに言われたことを思い出させられた。
曰く、「やり方は人それぞれですよ」
こんなプログラムで…例えだから簡単に。手抜きとか言わない
import java.io.*; public class choice { public static void main(String[] args)throws IOException { BufferedReader reader = new BufferedReader (new InputStreamReader(System.in)); System.out.println("a,b,cのいずれかを入力して下さい"); String line = reader.readLine(); char num = line.charAt(0); switch(num) { case 'a': System.out.println("aを選択しました"); break; case 'b': System.out.println("bを選択しました"); break; default: System.out.println("cを選択しました"); break; } } }
「a,b,cのいずれかを入力して下さい」
が表示された後、何も入力せずにenterを叩くとエラーが出る。このエラーを回避する為にはどうすればいいのか、という問題があって最初に考えたのはtry〜catchでいいのかな、なんだけど解答には別の答えが用意されてた。
文字入力されなかった場合、強制的に'c'が入力されたとして処理すればいい。 char num; if(line.length() > 0){ num = line.charAt(0); } else{ num = 'c'; }
おいら的にはこの解答、目から鱗ものでした。