关于使用java将一定范围内数字筛选输出的编程思想

本文通过筛选1000以内的完数为例,介绍了如何利用JAVA编程思想中的工具类来简化主方法,实现清晰易读的代码结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       曾经看过一篇文章,里面讲的是关于JAVA编程思想的问题,其中提到过的一句话让我印象深刻:一个主方法里除了实例化对象和调用方法之外的代码不会超过四行。
       当然,这是一个比较夸张的比喻 ,但在实际的编程中,如果能写一个工具类的话,是不会往主方法里放入太多的东西的,在这里将阐述的是我对于简单JAVA问题中筛选一定范围内某种数字的理解,在这里我以输出1000以内的完数(一个正整数恰好等于除它本身外的所有因子之和)进行举例。
       首先,不管是筛选什么样的数字,应当将数字和范围规定分开来看,即构造一个工具类,其中含有一个成员方法去辨别数字,比如在完数输出这一题中,将判定某一个数是否为完数作为一个成员方法,而更换数字则放在主方法里,然后开始在工具类里创建方法判断单个数字是否符合条件,最后在主方法里规定范围,代码如下:
public class Tools {
	
	void judgePerfectNumber(int a){
	//判断一个数字是否为完数	
		int sum = 0;
		//因子的和初始化
		int [] arr=new int[100];
		int s = 0;
			for(int i = 1;i<a;i++){
				if(a%i==0){
					arr[s]=i;
					s++;
				}
			}//得到这个数字的所有因子
		for(int r=0;r<100;r++){
			sum = sum+arr[r];
		}//求出因子的和
		if(sum == a){
			System.out.print(a+"\t");
		}//判断是否为完数
		
	}

}
public class Main {

	public static void main(String[] args) {
		Tools per = new Tools();
		System.out.println("1000以内所有的“完数”为:");
		for(int i = 1;i<1000;i++){
			per.judgePerfectNumber(i);
		}

	}

}
       如果你愿意的话,你甚至可以将范围也做成一个方法放入工具类Tools里,由用户输入范围,范围的函数如下。
	void range(){
		Scanner scan = new Scanner(System.in);
		int max = scan.nextInt();
                int min = scan.nextInt();
		//用户输入范围
		for(int i = min;i<max;i++){
			judgePerfectNumber(i);
		}//使用时请自行加入提示
       将这些复杂的算法放入工具类中,其目的在于防止主方法过于复杂,不易读懂。
       以上便是我从简单筛选中做出的总结。

       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值