zoukankan      html  css  js  c++  java
  • 第三周课程总结及实验报告

    班级 计科一班 学号 20188381 姓名 罗宇梁

    一、 实验目的

    (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, a, c, b;
            
            for(n=100;n<1000;n++)
            {
                 a=n%10;
                 c=n/10%10;
                 b=n/100%10;
              
                 if(n==a*a*a+c*c*c+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 Main {
        public static void main(String[] args){
           int sum = 0, n = 0;
           int i;
           for(i=1;;i++){
               sum = sum+i;
               if(sum>=8888){
                   break;
               }
           }
           System.out.println(sum-i);
        }
    }
    

    实验结果:

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

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

    实验结果:

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

    public class Main {
        public static void main(String[] args) {
            int sum = 0, n = 0;
            int i;
           for(i=1;;i++){
               sum = sum+i;
               if(sum>=8888){
                   break;
               }
           }
            System.out.println(sum-i);
    
        }
    }
    

    实验结果

    1. 使用for循环打印下面的图形。
    public class Main {
        public static void main(String[] args) {
            int i, j;
            for(i = 1;i<=5;i++){  
    
                for(j = 5;j>=i;j--){   
                    System.out.print(" ");
                }
                for(j = 1;j<=i;j++){
                    System.out.print(" *");
                }
                for(j = 5;j>=i;j--)
                {
                    System.out.print(" ");
                }
                System.out.println();
            }
        }
    

    实验结果:

    第三周课程总结

    构造方法

    构造方法用于程序的初始化和属性的初始化。

    构造方法的声明需要遵守以下要点:

    ①构造方法必须与类名称一致。

    ②构造方法的声明处不能有任何返回值类型的声明。

    ③不能在构造方法中使用return返回值一个值。

    构造方法定义格式:

    class 类名称{

      访问权限 类名称(类型1 参数1,类型2 参数2,……){
    
              程序语句;
    
             ……  //构造方法没有返回值
    
                     }
    

    }

    this关键字

    作用:1强调本类中的方法
    2.表示类中的属性
    3.可以使用this调用本类的构造方法
    4.this表示当前对象

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

       static:表示此方法可以由类名称直接调用
       void:主方法是程序的起点,所以不需要任何的返回值
       main:系统规定好默认调用的方法名称,执行时,默认找到main方法名称
       String args[]:表示运行时的参数 参数传递的形式:
      java 类名称 参数1 参数2 参数3....
    

    java中的面向对象的三大基本特征是:【封装】、【继承】、【多态】

    封装
        对象要有一个明确的边界;边界的划分(对象各司其职、对象的粒度、对象的可重用性)
        具体来说:
                1.属性: 私有 private(提供set和get方法)
                2.方法: 公开或私有public/private
                3.方法声明 --> 公开
                  方法实现 --> 隐藏
                 实现改变时,对对象的使用者没有影响。
  • 相关阅读:
    QT删除QWidget或QLayout下的控件
    OSG HUD实现类似ArcGIS制图中图例效果(色块+标注)
    QT简易画板练习
    展望
    打字比赛日前
    学习的第一天
    SpringBoot之CommandLineRunner启动执行任务
    java根据ip获取城市
    springboot项目中, 同一浏览器JSESSIONID互相覆盖问题
    eclipse的spring项目中,alt+/无提示或按多次才正确提示
  • 原文地址:https://www.cnblogs.com/luoyuliang/p/11522119.html
Copyright © 2011-2022 走看看