下面是一个示例代码,实现了一个方法isDivisibleBy11来确定一个数是否能被11整除,并返回true或false。另外,还生成了从11到110的100个随机整数。
import java.util.Random;
public class Main {
public static void main(String[] args) {
// 生成从11到110的100个随机整数
int[] randomNumbers = generateRandomNumbers(11, 110, 100);
// 输出随机整数
for (int number : randomNumbers) {
System.out.print(number + " ");
}
System.out.println();
// 判断随机整数是否能被11整除
for (int number : randomNumbers) {
System.out.println(number + " 是否能被11整除: " + isDivisibleBy11(number));
}
}
// 生成从min到max的count个随机整数
public static int[] generateRandomNumbers(int min, int max, int count) {
Random random = new Random();
int[] randomNumbers = new int[count];
for (int i = 0; i < count; i++) {
randomNumbers[i] = random.nextInt(max - min + 1) + min;
}
return randomNumbers;
}
// 判断一个数是否能被11整除
public static boolean isDivisibleBy11(int number) {
int sumOfOddPositionDigits = 0;
int sumOfEvenPositionDigits = 0;
boolean isEvenPosition = true;
// 从个位开始遍历每一位数字
while (number != 0) {
int digit = number % 10;
if (isEvenPosition) {
sumOfEvenPositionDigits += digit;
} else {
sumOfOddPositionDigits += digit;
}
number /= 10;
isEvenPosition = !isEvenPosition;
}
int difference = Math.abs(sumOfEvenPositionDigits - sumOfOddPositionDigits);
return difference % 11 == 0;
}
}
这段代码首先通过generateRandomNumbers方法生成了从11到110的100个随机整数,然后使用isDivisibleBy11方法判断每个随机整数是否能被11整除,并输出结果。isDivisibleBy11方法通过遍历每一位数字,分别计算奇数位数字的和sumOfOddPositionDigits和偶数位数字的和sumOfEvenPositionDigits,然后判断两者之差是否能被11整除,从而确定一个数是否能被11整除。