实验报告(一)&第三周总结

Java实验报告

 

 

实验一 Java开发环境与简单Java程序

一、 实验目的

(1)      熟悉JDK开发环境

(2)      熟练掌握结构化程序设计方法

二、 实验内容

1.      打印输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其中各位数字立方和等于该数本身。例如,153是一个“水仙花数”。

2.      编写Java程序,求13-23+33-43+…+973-983+993-1003的值。

3.      编程求1!+2!+3!+…+20!。

4.      编写Java程序,计算8+88+888+…前10项之和。

5.      一个数如果恰好等于它的因子之和,这个数就称为完数。编写程序输出1000以内的所有完数。

6.      编写应用程序,输出满足1+2+3+…+n<8888的最大正整数。

7.      使用for循环打印下面的图形。

 

 

 

三、 实验过程

1.打印输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其中各位数字立方和等于该数本身。例如,153是一个“水仙花数”。

实验源码:

public class Shuixian{
    public static void main(String args[]){
         int a,b,c,d;
        
        for(int i=100;i<=999;i++){
                          a=i%10;
              c=i/10;
              b=c%10;
              d=c/10;
              if(a*a*a+b*b*b+d*d*d==i){
                  System.out.println(i);
                  
              }     
        }
    }
}

实验结果:

 

2.编写Java程序,求13-23+33-43+…+973-983+993-1003的值。

实验源码:

 

public class Shijia{
    public static void main(String[] args){
        int sum=0;
        for(int i=13;i<=1003;i+=10){
            
             if((i/10)%2==0){
            sum=sum-i;
            }
            else{
            sum=sum+i;
            }
        }
        System.out.println("sum="+sum);
    }
}

 

实验结果:

 

3.编程求1!+2!+3!+…+20!。

实验源码:

public class Jiecheng{
    public static void main(String[] args){
        long sum=0;
        long a=1;
        for(int i=1;i<=20;i++){
            a=1;
            for(int j=1;j<=i;j++){
            a*=j;
            }
            sum=sum+a;
        }
        System.out.println("sum="+sum);
    }
}

实验结果:

 

4.编写Java程序,计算8+88+888+…前10项之和。

实验源码:

 

public class Bashi{
    public static void main(String[] args){
        long sum=0;
        long i=8;
        for(int j=1;j<=10;j++){
            sum=sum+i;
            i=i*10+8;
        }
        System.out.println("sum="+sum);
    }
}

 

 

实验结果:

5.一个数如果恰好等于它的因子之和,这个数就称为完数。编写程序输出1000以内的所有完数。

实验源码:

 

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

 

 

 

实验结果:

 

6.编写应用程序,输出满足1+2+3+…+n<8888的最大正整数。

实验源码:

 

public class Baqian{
    public static void main(String[] args){
        long sum=0;
        int i=1;
        do{
             sum=sum+i;
             i++;
        }while(sum<8888);
        System.out.println(i-2);
    }
}

 

 

 

实验结果:

 

7.使用for循环打印下面的图形。

 

 

 

实验源码:

public class Triangle{
    public static void main(String[] args){
        for(int i=1;i<=5;i++){
            for(int k=1;k<7-i;k++){
                System.out.print(" ");
            }
            for(int b=1;b<=i;b++)
                                                                 System.out.print("* ");
                              System.out.println("\n");    
        }
    }
}

 

 

实验结果:

 

 

总结:

使用for循环语句进行简单的输出。

其中遇到很多数据的溢出,应该用长整型的,用成了整型,导致结果错误。

 

 

第三周小结

 

 

一、类与对象

对象的创建及使用

 

类名 对象名称 = null//声明对象
对象名称 = new 类名();   //实例化对象,只要有关键字new就表示开辟新的堆内存空间


class Person{
         .......
         .......

}
 ......
Person per = null;
per = new Person;
        ......

 

创建多个对象

class Person{
         .......
         .......

}
 ......
Person per1 = null;
Person per2 = null;
per1 = new Person();
per2 = new Person()
        ......

 

二、封装性

 

为属性封装:private   属性类型   属性名称;

为方法封装:private   方法返回值    方法名称(参数列表){}  

class Person{
        private String name;
        ..........
}

 

三、构造方法

class 类名称{

          访问权限   类名称(类型1  参数1,.........){

                            程序语句;

          }

}

 

class Person{
        public Person(){
                 System.out.println(“   ....”)
        }
}

 

posted @ 2019-09-15 09:01  林衍  阅读(291)  评论(2编辑  收藏  举报