Java实验七:类和异常
一、实验目的:
掌握类的设计思想、异常的处理
二、实验内容:
1、设计一个工具类Utils,该类中包括一个方法:IsPerNum方法用于判断一个给定数值是否是完全数,实现该算法,并计算10000以内的所有完全数
(说明:完全数是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。如:第一个完全数是6,它有约数1、2、3、6,除去它本身6外,其余3个数相加,1+2+3=6。第二个完全数是28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28)
2、在此工具类中增加一个方法ComputeGDC,用于计算两个数的最大公约数,如果有,则返回最大公约数;如果没有,则抛出自定义异常GCDException
package experiment_seven;
//import java.util.Scanner;
class GCDException extends Exception{
//String message;
public GCDException(){
System.out.println("ERROR");
}
}
class Utils{
public void IsPerNum(int num){
int sum = 0;
if(num<=0)
System.out.println("ERROR");
else{
System.out.print("约数有:");
for(int i=num;i>0;i--){
if(num%i==0){
System.out.print(i+" ");
sum += i;
}
}
if(sum==2*num){
System.out.println();
System.out.println(num+"为完全数");
}
}
}
public void AllPerNum(int num) {
int count = 0;
System.out.println(num+"以内的完全数有:");
for(int i=1;i<=num;i++){
int sum=0;
for(int j=1;j<i;j++){
if(i%j==0)
sum+=j;
}
if(sum==i) {
count++;
System.out.println(i+" ");
}
}
System.out.println(num+"以内共"+count+"个完全数");
}
public void ComputeGDC(int a,int b)throws GCDException {
if(a<0||b<0){
throw new GCDException ();
}
else {
System.out.print(a+"与"+b+"的最大公约数:");
if(a<b){
int temp = a;
a=b;
b=temp;
}
while (a %b!=0){
int temp =a%b;
a=b;
b=temp;
}
System.out.println(b);
}
}
}
public class Experiment_seven{
public static void main(String[] args){
/*System.out.println("输入一个自然数:");
@SuppressWarnings("resource")
Scanner input = new Scanner(System.in);
int num = input.nextInt();*/
Utils number = new Utils();
number.IsPerNum(28);
number.AllPerNum(10000);
try {
number.ComputeGDC(13, 12);
}catch (GCDException e){
e.printStackTrace();
}
}
}
1.腾龙梦屋文章内容无特殊注明皆为源儿原创,转载请注明来源,谢谢!
2.若有相关文章侵犯您的权益,请联系源儿删除,谢谢!
3.相关软件、资料仅供学习参考使用,在24h内务必删除!
腾龙梦屋 » Java实验七:类和异常
2.若有相关文章侵犯您的权益,请联系源儿删除,谢谢!
3.相关软件、资料仅供学习参考使用,在24h内务必删除!
腾龙梦屋 » Java实验七:类和异常