撰写第三周课程总结及实验报告(一)

Java实验报告

 

班级   计科一班         学号   20188375       姓名  汤云云     

完成时间            

评分等级            

实验一 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 Flower
{
   public static void main(String[] args)
   {
        int  n, g, s, b;
        
        for(n=100;n<1000;n++)
        {
             g=n%10;
             s=n/10%10;
             b=n/100%10;
          
             if(n==g*g*g+s*s*s+b*b*b)
             {
                   System.out.println(n);
              }
         }
     }
}

 

 

实验结果:

 

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

实验源码:

 

public  class Sum
{
     public static void main(String[] args)
     {
           int n;
           int sum=0;
   
           for(n=1;n<=100;n++)
          {
               if(n%2==0)
               {
                      sum=sum-(n*10+3);
               }
               else
               {
                       sum=sum+n*10+3;
               }
           }
              System.out.println(sum);
       }
}

 

实验结果:

 

 

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

实验源码:

public class Factorial 
{
         public static void main(String[] args)
        {
                   long sum=0;
                 for(int i=1;i<=20;i++)
                {
                          sum+=fact(i);
                }
                 System.out.println(sum);
         }
         public static long fact(int n)
        {
             long product=1;
            for(int i=1;i<=n;i++)
           {
                   product=product*i;
           }
               return product;
        }
} 

 

  

 

 

实验结果:

 

 

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

实验源码:

 

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

 

实验结果:

 

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

实验源码:

 

 1 public class WanShu
 2 {
 3       public static void main(String[] args)
 4       {
 5              int i,j;
 6              for(i=1;i<=1000;i++)
 7              {
 8                      int sum=0;
 9                   for(j=1; j<i; j++)
10                   {
11                         if(i%j==0)
12                         {
13                              sum=sum+j;
14                         }
15                    }
16                    if(i==sum)
17                    {
18                           System.out.println( i );
19                     }
20                 }
21          }
22 }

 

 

 

实验结果:

 

 

 

 

 

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

实验源码:

 

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

 

 

 

实验结果:

 

 

 

 

 

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

 

实验源码:

 

 1 public class Triangle
 2 {
 3     public static void main(String[] args)
 4    {    
 5            for (int i = 0; i < 5; i++) 
 6            {        
 7                    for (int j = i + 1; j < 5; j++) 
 8                    {            
 9                         System.out.print(" ");        
10                    }        
11                    for (int k = 0; k <= i; k++) 
12                    {            
13                          System.out.print("* ");        
14                    }        
15                          System.out.println();    
16             }
17     }
18 }

 

 

实验结果:

 

 

 

 

 

总结:

一、This 关键字的使用方法:

(1)强调调用本类方法

(2)表示类中的属性

(3)可以使用this调用本类的构造方法

(4)this表示当前对象

以后在类中访问属性的时候都要加上this关键字

二、使用this调用构造方法的注意事项:

(1)this( )调用构造方法必须也只能放在构造方法的第一行

(2)对于this调用构造方法的时候一定要留一个构造方法作为出口

三、this表示当前对象:

在java中当前对象就是指当前正在调用类中方法的对象

四、static使用方法:

一个类中的方法不想由对象,而是由类名称直接调用;

非static声明的方法可以去调用static声明的属性或方法的。但是static声明的方法是不能调用非static类型声明的属性或方法的。

 

例如:

 

class Person
{
    private static String country="A城";
    private String name = "Hello";
    public static void sFun(String c)
    {
        System.out.println("name="+name);
        fun( );
    }
    public void fun( )
    {
         System.out.println("World");
    }
}

 

  

 

 

 五、理解main( )方法

(1)public:表示此方法可以被外部所调用

(2)static:表示此方法可以由类名称直接调用

(3)void:主方法是程序的起点,所以不需要任何的返回值

(4)main:系统规定好默认调用的方法名称,执行的时候,默认找到main( )方法名称

(5)String args[]:表示的是运行时的参数。参数传递的形式为“Java”类名称  参数1  参数2   参数3........"。

main()的定义:

public static void main(String args[])

 

posted on 2019-09-14 16:47  青春永驻岁月无忧  阅读(196)  评论(0编辑  收藏  举报