Tips

【Java】プログラム作成練習問題32

【Java】プログラム作成練習問題32

プログラム作成練習問題32回となります。

※この出題形式に関しては答えは1つではありません。
解答例はできるだけ複数載せるつもりですが、問題文の要件を満たしていれば正解として下さい。

問題

int型の変数numの値に3が含まれているか判定するプログラムを作成せよ
ただし負の数は考慮しないものとする

解答例1
[java] public class Excercise_032 {
public static void main(String[] args) {
int num = 321;
int temp = num;

String result = "3は含まれていません";

while(temp > 0) {
if(temp % 10 == 3) {
result = "3が含まれています";
break;
}
temp /= 10;
}

System.out.println(result);
}
}
[/java]


解答例2
[java] public class Excercise_032 {
public static void main(String[] args) {
int num = 321;
String strNum = String.valueOf(num);

String result = "3は含まれていません";

for(int i = 0; i < strNum.length(); i++) {
if(strNum.charAt(i) == ‘3’) {
result = "3が含まれています";
break;
}
}

System.out.println(result);
}
}
[/java]


解答例3
[java] public class Excercise_032 {
public static void main(String[] args) {
int num = 321;
String strNum = String.valueOf(num);

if(strNum.contains("3")) {
System.out.println("3が含まれています");
} else {
System.out.println("3は含まれていません");
}
}
}
[/java]


間違い例

[java] public class Excercise_032 {
public static void main(String[] args) {
int num = 321;
String strNum = String.valueOf(num);

String result = "3は含まれていません";

for(int i = 0; i < strNum.length(); i++) {
if(strNum.charAt(i) == "3") {
result = "3が含まれています";
break;
}
}

System.out.println(result);
}
}
[/java]

解答例2でありがちなコンパイルエラーです。
誤 : strNum.charAt(i) == “3”
正 : strNum.charAt(i) == ‘3’
9行目でi番目の文字と3が等しいか判定していますが、charAtメソッドの戻り値はchar型のためString型と==演算子で比較することはできません。


新連載はじまりました!新Java基礎 連載リンク

はじめてのJAVA 連載

Recent News

Recent Tips

Tag Search