専門学校31日目(情報工学)5月27日(月)

今日の1時限~3時限は先生の都合でHTML基礎の授業はありませんでした。後日、どこかで時間を作って授業を行う予定です。

4時限~6時限
Java基礎 スッキリわかるJava入門 第4版

先週は条件式の真偽によって分岐させるif~else文を学び、それを駆使してグループワークで占いプログラムを作りました。
中間試験は6月10日に決まりました。
文字列の比較はp.111-112にある
if (str.equals("スッキリ")) {
}
で行う。整数や1文字などの比較はif (hensuu == 'Y')などでいいです。
教科書には載っていないですが、実数を入力させるときは
double b = new java.util.Scanner(System.in).nextDouble();
と書き、文字列でなく1文字だけ入力するときは
char d = new java.util.Scanner(System.in).next().charAt(0);
と書く。

授業ではまずif~else文を使った練習問題を解きました。①~⑥の問題を進むごとにコードを付け足したりして完成させるものです。dokojava(dokojava)などでコードを実行してみるのもいいかもしれません。

public class Main { 
    public static void main(String[] args) { 
        System.out.println("1年生ですか? Yes/Noで答えてください。"); 
        String s = new java.util.Scanner(System.in),nextLine(); 
        if (s.equals("Yes")) { 
             System.out.println("私は1年生です。");
        }
     }
}
public class Main { 
    public static void main(String[] args) { 
        System.out.println("1年生ですか? Yes/Noで答えてください。"); 
        String s = new java.util.Scanner(System.in),nextLine(); 
        if (s.equals("Yes")) { 
            System.out.println("私は1年生です。"); 
        } else { 
            System.out.println("私は2年生です。"); 
        } 
    }
}
public class Main { 
    public static void main(String[] args) { 
        System.out.println("1年生ですか? Yes/Noで答えてください。"); 
        String gakunenn = new java.util.Scanner(System.in).nextLine(); 
        if (gakunenn.equals("Yes")) { 
            System.out.println("私は1年生です。"); 
            System.out.println("運転免許を持っていますか?Yes/Noで答えてください。"); 
            String mennkyo = new java.util.Scanner(System.in).nextLine(); 
            if (mennkyo.equals("Yes")) { 
                System.out.println("運転免許を持っています。"); 
            } 
        } else { 
            System.out.println("私は2年生です。"); 
        } 
    }
}
public class Main { 
    public static void main(String[] args) { 
        System.out.println("1年生ですか? Yes/Noで答えてください。"); 
        String gakunenn = new java.util.Scanner(System.in).nextLine();  
        if (gakunenn.equals("Yes")) { 
            System.out.println("私は1年生です。"); 
        } else { 
            System.out.println("私は2年生です。"); 
            System.out.println("就職は決まりましたか? Yes/Noで答えてください。"); 
            String shuushoku = new java.util.Scanner(System.in).nextLine(); 
            if (shuushoku.equals("Yes")) { 
                System.out.println("決まりました~!"); 
            } 
        } 
    }
}
public class Main { 
    public static void main(String[] args) { 
        System.out.println("1年生ですか? Yes/Noで答えてください。"); 
        String gakunenn = new java.util.Scanner(System.in).nextLine();  
        if (gakunenn.equals("Yes")) { 
            System.out.println("私は1年生です。"); 
            System.out.println("運転免許を持っていますか? Yes/Noで答えてください。"); 
            String mennkyo = new java.util.Scanner(System.in).nextLine(); 
            if (mennkyo.equals("Yes")) { 
                System.out.println("運転免許を持っています。"); 
            } 
        } else { 
            System.out.println("私は2年生です。"); 
            System.out.println("就職は決まりましたか? Yes/Noで答えてください。"); 
            String shuushoku = new java.util.Scanner(System.in).nextLine(); 
            if (shuushoku.equals("Yes")) { 
                System.out.println("決まりました~!"); 
            } 
        } 
    }
}
public class Main { 
    public static void main(String[] args) { 
        System.out.println("1年生ですか? Yes/Noで答えてください。"); 
        String gakunenn = new java.util.Scanner(System.in).nextLine();  
        if (gakunenn.equals("Yes")) { 
            System.out.println("私は1年生です。"); 
            System.out.println("運転免許を持っていますか? Yes/Noで答えてください。"); 
            String mennkyo = new java.util.Scanner(System.in).nextLine();  
            if (mennkyo.equals("Yes")) { 
                System.out.println("運転免許を持っています。"); 
            } else { 
                System.out.println("まだなんですよ~。"); 
            } 
        } else { 
            System.out.println("私は2年生です。"); 
            System.out.println("就職は決まりましたか? Yes/Noで答えてください。"); 
            String shuushoku = new java.util.Scanner(System.in).nextLine();  
            if (shuushoku.equals("Yes")) { 
                System.out.println("決まりました~!"); 
            } else { 
                System.out.println("まだなんですよ~。"); 
            } 
        } 
    }
}

続いて教科書p.134-135の問題3-3と3-4をやりました。

public class Main { 
    public static void main(String[] args) { 
        int isHungry = 1; 
        String food = "カレーライス"; 
        System.out.println("こんにちは"); 
        if (isHungry == 0) { 
            System.out.println("お腹がいっぱいです"); 
        } else { 
            System.out.println("はらぺこです"); 
            System.out.println(food + "をいただきます"); 
        } 
        System.out.println("ごちそうさまでした"); 
    }
}

上のコードは教科書の答えとは少し違いますが、教科書の答えも載せておきます。

public class Main { 
    public static void main(String[] args) { 
        int isHungry = 1; 
        String food = "カレーライス"; 
        System.out.println("こんにちは"); 
        if (isHungry == 0) { 
            System.out.println("お腹がいっぱいです"); 
        } else { 
            System.out.println("はらぺこです"); 
        } if (isHungry == 1) { 
            System.out.println(food + "をいただきます"); 
        } 
        System.out.println("ごちそうさまでした"); 
    }
}

3-4については、7行目のelseの後に{と}がついていないため括弧を省略した場合の1行だけ出力される機能で出力され、2行目は出力されない。else節を{}で括ったコードが以下のものです。

public class Main { 
    public static void main(String[] args) { 
        boolean tenki = false; 
        if (tenki == true) { 
            System.out.println("洗濯をします"); 
            System.out.println("散歩にいきます"); 
        } else { 
            System.out.println("映画を見ます"); 
            System.out.println("寝ます"); 
        } 
    }
}

以下はchar型を使ってY/Nで答えさせるコードです。文字列ではなく文字なので比較するのに==を使っています。

public class Main { 
    public static void main(String[] args) { 
        System.out.println("1年生ですか? Y/Nで答えてください。"); 
        char gakunenn = new java.util.Scanner(System.in).next().charAt(0);  
        if (gakunenn == 'Y') { 
            System.out.println("私は1年生です。"); 
            System.out.println("運転免許を持っていますか? Y/Nで答えてください。"); 
            char mennkyo = new java.util.Scanner(System.in).next().charAt(0);  
            if (mennkyo == 'Y') { 
                System.out.println("運転免許を持っています。"); 
            } else { 
                System.out.println("まだなんですよ~。"); 
            } 
         } else { 
             System.out.println("私は2年生です。"); 
             System.out.println("就職は決まりましたか? Y/Nで答えてください。"); 
             char shuushoku = new java.util.Scanner(System.in).next().charAt(0);  
             if (shuushoku == 'Y') { 
                 System.out.println("決まりました~!"); 
             } else { 
                 System.out.println("まだなんですよ~。"); 
             } 
         } 
    }
}

p.112-
論理演算子を使った複雑な条件式
&&でかつ(AND)
||でまたは(OR)

if (age >= 18 && month == 5)
if (name.equals("斉藤") || name.equals("斎藤"))

次のようなプログラムを作りました。年齢とアルバイトの状況の確認をするものと、交通機関を使っているかを確認するものです。大文字のY、小文字のyのどちらにも対応したコードです。

public class Main { 
    public static void main(String[] args) { 
        System.out.println("年齢とアルバイトの状況を確認します。"); 
        System.out.println("年齢を入力してください。"); 
        int age = new java.util.Scanner(System.in).nextInt(); 
        System.out.println("アルバイトをしていますか? Y/Nで答えてください。"); 
        char work = new java.util.Scanner(System.in).next().charAt(0);  
        if (age >= 18 && work == 'Y' || work == 'y') { 
            System.out.println("18歳以上でアルバイトをしています。"); 
        } 
    }
}
public class Main { 
    public static void main(String[] args) { 
        System.out.println("通学手段の状況を確認します。"); 
        System.out.println("電車通学ですか? Y/Nで答えてください。"); 
        char train = new java.util.Scanner(System.in).next().charAt(0);  
        System.out.println("バス通学ですか? Y/Nで答えてください。"); 
        char bus = new java.util.Scanner(System.in).next().charAt(0);  
        if (train == 'Y' || train == 'y' || bus == 'Y' || bus == 'y') { 
            System.out.println("交通機関を使って通学しています。"); 
        } 
    }
}

この記事が気に入ったらサポートをしてみませんか?