lucifer


私信TA

用户名:13379476814

访问量:14729

签 名:

等  级
排  名 3134
经  验 2021
参赛次数 0
文章发表 22
年  龄 20
在职情况 学生
学  校 西北工业大学明德学院
专  业

  自我简介:

解题思路:

注意事项:

如果看的话建议复制粘贴放到eclipse后ctrl+shit+f键整理代码。这样就看的清楚了。

        在这里我写的代码都是有格式的,但是系统把代码格式变成默认的,看的话不方便。



参考代码:

package com.cx;


import java.util.Scanner;


public class Demo1017 {

    public static void main(String[] args) {

        // 創建Scanner的對象

        Scanner sc1 = new Scanner(System.in);

        // sc就可以直接使用对象方法nextLine,这样就能接受控制台输入的字符串

        int a = sc1.nextInt();

        // 直接调用函数,这样字符串就能传入方法,然后进行判断

        function11(a);

    }


    // 用这个函数找出符合条件的数字,找到后调用function10

    public static void function11(int a) {


        for (int i = 2; i <= a; i++) {

            int c = 0;

            for (int n = 1; n < a; n++) {

                if (i % n == 0) {

                    c = c + n;

                }

                if (i == c) {

                function10(i);

                System.out.println();

                break;

                }


            }

        }

    }


    // 将符合条件的数字带入这个函数,打印出需要的格式

    public static void function10(int a) {

        System.out.print(a + "  its factors are  ");

            for (int n = 1; n < a; n++) {

                if (a % n == 0) {

                    System.out.print(n + "\t");

                }

        }


    }

}


 

0.0分

2 人评分

  评论区

第二个if不应该在同一个for循环里面,这样你会输出一个24的结果,24  its factors are 1 2 3 4 6 8 12 ,虽然前面几个加起来确实会等于24然后判断结束break,但是却没有加上12导致你输出和判断的是不一样的结果。
并且没有注意格式,不要加制表符\t,空格就好,不然输出也是会很奇怪的
2022-01-20 11:18:13
这个代码不对呀
2022-01-07 14:03:52
  • «
  • 1
  • »