「Java学习打卡」52、4.16 程序练习

一个控制台应用程序,要求完成写列功能。

  1. 接收一个整数n。
  2. 如果接收的值n为正数,输出1~n间的全部整数。
  3. 如果接收的值n为负值,输出n~-1间的全部整数并退出程序。
  4. 如果是正数,转到A继续接收下一个整数。
import java.util.Scanner;

class count {
     
    void greater0(int str) {
     
        for (int i = 2; i < str; i++) {
     
            System.out.print(i + "\t");
        }
    }

    void less0(int str) {
     
        for (int i = -1; i > str; i--) {
     
            System.out.print(i + "\t");
        }
    }

}

public class Test {
     
    public static void main(String[] args) {
     
        while (true) {
     
            Scanner scanner = new Scanner(System.in);
            int str = scanner.nextInt();
            count c = new count();
            if (str > 0) {
     
                c.greater0(str);
            } else {
     
                c.less0(str);
                return;
            }
        }
    }
}

一个控制台应用程序,求1000之内的所有“完数”。所谓“完数”是指一个数恰好等于它的所有因子之和。例如6是完数,因为6=1+2+3。

public class Test {
     
    public static void main(String[] args) {
     
        int i, j, q;
        for (i = 1; i <= 1000; i++) {
     
            q = 0;
            for (j = 1; j < i; j++) {
     
                if (i % j == 0) {
     
                    q = q + j;
                }
            }
            if (q == i) {
     
                System.out.println(i);
            }
        }
    }
}

你可能感兴趣的:(「Java学习打卡」52、4.16 程序练习)