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

    实验报告

    一、实验目的

    熟悉JDK开发环境

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

    二、实验内容

    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是一个“水仙花数”。

    实验源码:

    package test;
    
    public class Domo1 {
    
        public static void main(String[] args) {
    	    // TODO Auto-generated method stub
    	    int i,sum=0,j,k;
    	    for(i=100;i<1000;i++)
    	    {
    	    	    k=i;
    		    while(k>0)
    		    {
    			    j=k%10;
    			    sum=sum+j*j*j;
    			    k=k/10;
    		    }
    		    if(sum==i)
    			    System.out.println(i);
    		    sum=0;
    	    }
    
        }
    
    }
    

    实验结果:

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

    实验源码:

    package test;
    
    public class Domo2 {
    
        public static void main(String[] args) {
    	    // TODO Auto-generated method stub
    	    int sum=0;
    	    int i,flag=1;
    	    for(i=13;i<=1003;i+=10)//for循环没设置好,想得太复杂
    	    {
    		    sum=sum+flag*i;
    		    flag=-flag;
    	    }
    	    System.out.print(sum);
        }
    }
    

    实验结果:

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

    实验源码:

    package test;
    
    public class Domo3 {
        public static void main(String[] args) {
    	    long i,j,sum1=1,sum2=0;
    	    for(i=1;i<=20;i++)
    	    {
    		    for(j=1;j<=i;j++)
    			    sum1=sum1*j;
    		    sum2+=sum1;
    		    sum1=1;
    	    }
    	    System.out.print(sum2);
        }	
    }
    

    实验结果:

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

    实验源码:

    package test;
    
    public class Domo4 {
    
        public static void main(String[] args) {
    	    // TODO Auto-generated method stub
    	    long i,sum=0;//计算结果int的范围
    	    long a=8;//第十项超过int的范围
    	    for(i=1;i<=10;i++)
    	    {
    		    sum+=a;
    		    a=a*10+8;
    	    }
    	    System.out.print(sum);
        }
    
    }
    

    实验结果:

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

    实验源码:

    package test;
    
    public class Domo5 {
    
        public static void main(String[] args) {
    	    // TODO Auto-generated method stub
    	    int i,j,sum=0;
    	    for(i=1;i<=1000;i++)
    	    {
    		    for(j=1;j<=i/2;j++)
    		    {
    			    if(i%j==0)
    				    sum=sum+j;
    		    }
    		    if(sum==i)
    			    System.out.println(sum);
    		    sum=0;
    	    }
        }
    
    }
    

    实验结果:

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

    实验源码:

    package test;
    
    public class Domo6 {
    
        public static void main(String[] args) {
    	    // TODO Auto-generated method stub
    	    int sum=0,i;
    	    for(i=1;sum+i<8888;i++)
    	    {
    		    sum=sum+i;
    	    }
    	    System.out.print("最大正整数n是:"+(i-1));//i-1是因为在sum+i大于8888时跳出循环,因此i-1;sum+i才会小于8888
        }
    }
    

    实验结果:

    7. 使用for循环打印下面的图(等腰三角形)

    实验源码:

    package test;
    
    public class Domo7 {
    
        public static void main(String[] args) {
        	// TODO Auto-generated method stub
    	    int i,j;
    	    for(i=1;i<=5;i++)
    	    {
    		    for(j=5-i;j>0;j--)
    			    System.out.print(" ");
    		    for(j=1;j<=i;j++)
    			    System.out.print("* ");
    		    System.out.print("
    ");
    	    }
        }
    
    }
    

    实验结果:

    总结:这几个题挺简单的,但是我还是犯了些小错误,例如计算的数据超出了类型的取值范围,希望下次能更好的完成实验。

    课程总结

    类:类是由属性和方法组成的,一个属性就是一个变量,方法是一些操作的行为。

    类的定义

    class 类名称{
            数据类型属性;
    ·······
            public 返回值的数据类型 方法名称(参数1,参数2···){
                    程序语句;
                    [return 表达式;]
            }
    }
    

    类的定义没有加上“static”关键字,因为此时的定义方法将要由对象调用,而不是与主方法定义在一个类中且由主方法直接调用。

    对象的创建

    类名 对象名称=new 类名();
    

    如果一个对象要被使用,对象必须被实例化。

    封装性

    private 属性类型 素性名称
    private 方法返回值 方法名称(参数列表){}
    

    只要是被封装的属性,必须通过setter和getter方法设置和取得。
    private声明的属性或方法只能在其类的内部调用。
    如果要强调是本类中的方法,可以在调用的时候按“this.方法名称()"。

    构造方法

    class 类名称{
            访问权限 类名称(类型1 参数1,类型2 参数2,·····){
                            程序语句;
            }
    }
    

    构造方法的名称必须与类名称一致;
    构造方法的声明处不能有任何返回值类型的声明;
    不能在构造方法中使用return返回一个值。

    匿名对象

    匿名对面指没有给出名字的对象。一般匿名对象只使用一次,而且匿名对象只在堆内存中开辟空间,而不存在栈内存的引用。

    使用static声明属性

    在程序中使用static声明属性,此属性称为全局变量,对所有的对象是共享的。

    使用static声明方法

    使用static声明的方法可以直接由类名称直接调用。
    :非static声明的方法可以去调用static声明的属性或方法,但是static声明的方法是不能调用非static类型声明的属性或方法的。

  • 相关阅读:
    tensorflow2.0 GPU和CPU 时间对比
    第一次使用FileZilla Server
    PremiumSoft Navicat 15 for Oracle中文破解版安装教程
    Unmapped Spring configuration files found. Please configure Spring facet or use 'Create Default Context' to add one including all unmapped files.
    ng : 无法加载文件 D: odejs ode_global g.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
    angular
    Github上优秀的go项目
    win10---file explore 中remove quick access folder
    react--useEffect使用
    linux---cat 和 grep 的妙用
  • 原文地址:https://www.cnblogs.com/jk-liulei/p/11494344.html
Copyright © 2011-2022 走看看