Javaで共有される数字を検出するためのいくつかの方法を紹介します。共有される数字とは、2つの整数の中で少なくとも1つの数字が共通して現れることを指します。
方法1: 文字列として比較する この方法では、2つの整数を文字列に変換し、文字列の中で共通する文字(数字)が存在するかどうかを確認します。
public static boolean hasSharedDigit(int num1, int num2) {
String str1 = String.valueOf(num1);
String str2 = String.valueOf(num2);
for (int i = 0; i < str1.length(); i++) {
if (str2.contains(String.valueOf(str1.charAt(i)))) {
return true;
}
}
return false;
}
方法2: 数字を比較する この方法では、2つの整数を10で割った余りを使用して、各桁の数字を比較します。
public static boolean hasSharedDigit(int num1, int num2) {
while (num1 > 0) {
int digit1 = num1 % 10;
int tempNum2 = num2;
while (tempNum2 > 0) {
int digit2 = tempNum2 % 10;
if (digit1 == digit2) {
return true;
}
tempNum2 /= 10;
}
num1 /= 10;
}
return false;
}
これらの方法を使用すると、以下のように呼び出すことができます。
int num1 = 12345;
int num2 = 67890;
if (hasSharedDigit(num1, num2)) {
System.out.println("共有される数字が存在します。");
} else {
System.out.println("共有される数字はありません。");
}
これらの例では、2つの整数の中で共有される数字を検出する方法を示しています。他にもいくつかの方法がありますが、これらの方法は一般的なケースでうまく機能します。必要に応じて、コードを修正してカスタマイズすることもできます。