完美整数

44 阅读2分钟

这段代码定义了一个名为 Main 的类,其中包含两个静态方法:solution 和 main。 public class Main {

  • public class Main:定义了一个公共类 Main。在 Java 中,每个程序都需要一个主类,通常命名为 Main,并且包含一个 main 方法作为程序的入口点。

  • public static int solution(int x, int y) { int count = 0;

    // 遍历区间 [x, y] for (int num = x; num <= y; num++) { // 将整数转换为字符串 String numStr = Integer.toString(num);

    // 判断字符串中的所有字符是否相同
    boolean isPerfect = true;
    for (int i = 1; i < numStr.length(); i++) {
        if (numStr.charAt(i) != numStr.charAt(0)) {
            isPerfect = false;
            break;
        }
    }
    
    // 如果是完美整数,增加计数
    if (isPerfect) {
        count++;
    }
    

    }

    return count; }

  • public static int solution(int x, int y):定义了一个公共静态方法 solution,它接受两个整数参数 x 和 y,并返回一个整数。

  • int count = 0;:初始化一个计数器 count,用于统计完美整数的数量。

  • for (int num = x; num <= y; num++):使用 for 循环遍历区间 [x, y] 中的每一个整数。

  • String numStr = Integer.toString(num);:将当前整数 num 转换为字符串 numStr

  • boolean isPerfect = true;:初始化一个布尔变量 isPerfect,用于判断当前整数是否是完美整数。

  • for (int i = 1; i < numStr.length(); i++):遍历字符串 numStr 中的每一个字符,从第二个字符开始。

  • if (numStr.charAt(i) != numStr.charAt(0)):如果当前字符与第一个字符不同,则将 isPerfect 设为 false 并跳出循环。

  • if (isPerfect) { count++; }:如果 isPerfect 为 true,则说明当前整数是完美整数,增加计数器 count

  • return count;:返回完美整数的数量。

    • public static void main(String[] args) { // Add your test cases here System.out.println(solution(1, 10) == 9); System.out.println(solution(2, 22) == 10); }- public static void main(String[] args):定义了程序的入口点 main 方法。main 方法是 Java 程序的起点,程序从这里开始执行。
  • System.out.println(solution(1, 10) == 9);:调用 solution 方法并检查结果是否等于 9,然后输出结果。

  • System.out.println(solution(2, 22) == 10);:调用 solution 方法并检查结果是否等于 10,然后输出结果。