牛乳が0つあります。は無いわ。あと数字以外を受け付けないようにすることはできないものか。
前回はこちら
前回は、キーボードからの入力を受けて牛乳を買うところまでできました。しかし、牛乳がなかった(入力が0だった)場合や、数字以外が入力された場合の処理ができていません。今回はそのあたりから進めていきます。
前回のコードを元に改良したものがこちら。
import java.util.*;
public class KaimonoP{
public static void main(String[] args){
System.out.println("牛乳はいくつありますか?");
Scanner scanner =new Scanner(System.in);
String StringValue=scanner.nextLine();
//入力され受け取った文字列変数を数値変数に変換
Integer intValue =Integer.valueOf(StringValue);
//変換された数値変数を出力
System.out.println("牛乳は"+intValue+"つあります");
//入力された数値が1以上の場合、牛乳を1つ買ったと表示。
if(intValue>=1){
System.out.println("牛乳を1つ買ってきました");
}
}
}
元のジョークに従って、牛乳がいくつあっても買うのは一つだけとします。さらに「牛乳を0つ買ってきました」などと表示されてしまわないように考えて行きましょう。
import java.util.*;
public class KaimonoP{
public static void main(String[] args){
//数字だけを受け付けるようにできる技術力を身に着けるまで、これでお願いします。
System.out.println("牛乳はいくつありますか?(数字を入力してください)");
//さすがに漢数字を入力してくる人はいないと思いたい(笑)
Scanner scanner =new Scanner(System.in);
String StringValue=scanner.nextLine();
Integer intValue =Integer.valueOf(StringValue);
//入力された数値が0だった場合を先に処理
//今回は無かったら終了、とします。
if(intValue==0){
System.out.println("牛乳はありませんでした。仕方ありません、帰りましょう。");
System.out.println("家に帰ったあなたは奥さんに言われました。「どうして何も買ってこなかったの?」");
System.out.println("あなたは答えました。「売っていなかったんだ」");
System.out.println("「じゃあ仕方ないわね」奥さんは納得したようです。");
//入力が0ではない場合の処理
}else if(intValue>=1){
//いくつあっても、買うのは一つだけです。
System.out.println("牛乳は"+intValue+"つあります");
System.out.println("牛乳を1つ買って帰りました");
System.out.println("奥さんは言いました。「お疲れ様。卵は無かったのね」");
}
}
}
いちいち文字列変数から数値変数に変換するのはめんどくさい気がしますね。入力を直接数値として受け取るには?そのあたりを次回やってみます。卵の数も気にしつつ
つづく!
ここから先は
0字
¥ 100
この記事が気に入ったらサポートをしてみませんか?