• 第三周课程总结实验报告


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

    1,实验代码

    public class shuixianhua{
             public static void main(String[]args){
    	int a,b,c;
    	for(int n=100; n<1000;n++){
    		a=n/100;
    		b=n%100/10;
    		c=n%10;
    		if(n==Math.pow(a,3)+Math.pow(b,3)+Math.pow(c,3)){
    			System.out.println(n);
    			}
    		}
    	
    	}
    } 
    

    2,运行截图。

    3,设计思路
    这个题目主要是让我们提取数字的个位十位百位,只要解决了这个问题这题就很简单了用一个for循环就可以解决。
    (李津老师上课的时候讲过这个题目)这个题目没有遇到什么问题。

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

    1,实验代码

    public class qiuhe{
    	public static void  main(String[]args){
    	int sum=0;
    	int a; 
    	int b;
    	for(a=13;a<=1003;){
    	    for(b=1;b<=100;b++){
    		if(b%2==0)
    		sum-=a;
    		else
    		sum+=a;
    		a+=10;
    			}
    		}
    		System.out.println(sum);
    	}
    }
    

    2,运行截图

    3,设计思路
    这个题目我们观察到数字每次都是加10,个位总是3,去掉个位的话前面的数字就可以看成1到100,而且前面的数字
    是奇数它就是加号,反之就是减号。所以就可以用for循环做出来了。

    三,编程求1!+2!+3!+…+20!。

    1,实验代码

    public class jiecheng{
    	public static void main(String[]args){
    	int sum=0;
    	for(int a=1; a<=20; a++){
    	int n=1;		
    	for(int b=1; b<=a; b++){
    		 n*=b;
    		}
    		sum+=n;
    		}
    		System.out.println("输出总和:"+sum);
    	}
    }
    

    2,运行截图

    3,设计思路
    这个题目一开始不知道怎么去表示阶乘,然后上网查询后知道了用两个for循环来表示,最后求和就可以了。

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

    1,实验代码

    public class work{
    	public static void main(String args[]){
    	long a=8;
    	long b=8;
    	for(int i=1; i<10; i++){
    		a=a*10+8;
    		b=b+a;
    		}
    		System.out.println(b);
    	}
    }
    

    2,运行截图

    3,设计思路
    这个题目一开始用int去定义做的,然后算出的结果和别人算的不一样,后面就改成long型就解决了。

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

    1,实验代码

    public class wangshu{
    	public static void main(String[]args){
    		System.out.println("1000以内的完数有:");
    	for(int i=2; i<=1000; i++){
    		int sum=0;
    	for(int n=1; n<i; n++){
    		if(i%n==0){
    		sum+=n;
    			}
    		}
    		if(sum==i){
    		System.out.println(i+"");
    		}
    	}
    	}
    }
    

    2,运行截图

    3,设计思路
    这个题目还没有搞懂,上网查询了后看了代码还是有些不懂,那两个循环不是特别懂,有点反应不过来

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

    1,实验代码

    public class bijiao{
    	public static void main(String [] args){
    	int sum=0;
    	int i;
    	for(i=1; sum+i<8888; i++){
    		sum+=i;
    		}
    	System.out.println("最大整数:"+(i-1));	
    	}
    }
    

    2,运行截图

    3,设计思路
    这个题目挺简单,一个for循环就可以解决

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

    1,实验代码

    public class sjx{
    	public static void main(String[]args){
    	for(int i=1; i<=5; i++){
    	for(int n=0; n<5-i; n++){
    		System.out.print(" ");
    		}
    	for(int x=1; x<=i; x++){
    		System.out.print("* ");
    			}
    		System.out.println();
    		}
    	}
    }
    

    2,运行截图

    本周学习类容

    1,java中this关键字的作用
    (1)this强调本类中的方法。
    (2)表示本类中的熟悉.
    (3)可以 使用this调用本类的构造方法。
    (4)this表示单前对象
    2,java中static关键字
    (1)程序中使用static声明属性的话,则此属性称为全局属性(也叫静态属性)
    static不可调用非静态方法的属性。
    (2)static也可以用来声明方法,用它声明的方法有时也被称为类方法,可以用类名直接调用。
    3,理解main()方法
    public:表示此方法可以被外部调用。
    static:表示此方法可以由类名直接调用。
    void:主方法是程序的起点,所以不需要任何返回值。
    main:主系统规定好默认调用的方法名称,执行的时候,默认找到main()方法名称。
    String args[]:表示运行时的参数。

  • 相关阅读:
    Java虚拟机(第二版) 学习笔记之Class类文件的结构
    JVM之深入浅出之垃圾收集算法
    Java虚拟机(第二版) 学习笔记之OutOfMemoryError
    Java虚拟机(第二版) 学习笔记
    平滑加权轮询负载均衡(轮询)算法
    java AQS(AbstractQueuedSynchronizer)同步器详解
    mybatis Interceptor拦截器代码详解
    aspectj编程简介
    Java并发编程阅读笔记-Java监视器模式示例
    我们该怎么结合日志做优化
  • 原文地址:https://www.cnblogs.com/tangjiacheng/p/11508819.html
Copyright © 2020-2023  润新知