専門学校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("交通機関を使って通学しています。");
}
}
}
この記事が気に入ったらサポートをしてみませんか?