コマンドラインから入力するⅡ - 萌えJava超入門
第二十二章 
コマンドラインから入力するⅡ

入力文字をBooleanに変換

コマンドラインから受け取った文字列を、Booleanに変換します。


目次


1.入力文字をBooleanに変換

コマンドラインから入力した文字列をBooleanにしてみましょう。
charAtメソッドで先頭文字だけ使います。
'y' なら true
'n' なら false を返します。


//Sample_21_16.java
import java.io.Console;
public class Sample_21_16 {

    private static Console cons = System.console();

    public static Boolean getBoolean(String msg){

        Boolean yes = null;
        char ch = ' ';

        String str = cons.readLine(msg);
        if(str.length() != 0){
            ch = str.charAt(0);
        }

        if(ch=='y' || ch=='Y' || ch=='n' || ch=='N'){
            yes = ch!='n' && ch!='N';
        }

        return yes;
    }

    public static void main(String[] args) {

        int floor = 1;//階

        boolean bool = getBoolean("階段を上りますか? (y/n): ");

        System.out.println("echo : " + bool);
        if(bool){
            floor++;
            System.out.println(floor + "階に上った。");
        }else{
            System.out.println(floor + "階にいます。");
        }
    }
}

コマンドライン
ws>javac -encoding UTF-8 Sample_21_16.java
ws>java Sample_21_16
階段を上りますか? (y/n):

'y' か 'n' を
入力するんすね?
ちなみに、
丁寧に "Yes" "No" と入力しても
2文字目以降は切り捨てられて
'Y' 又は 'N' になる。問題ない。
コマンドライン
ws>javac Sample_21_16.java
ws>java Sample_21_16
階段を上りますか? (y/n): y <---自分で入力した
echo : true
2階に上った。


動いてる
動いてる!



2.メソッドの説明

getBoolean
コマンドラインから受け取った値を Booleanにして返します。
最初の1文字目が 'y' か 'n' かを評価します。(大文字可)
どちらでもない場合は、null を返します。




お疲れ様でした。




© 2019 awasekagami