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


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

    实验源码:

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

    实验结果:

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

    实验源码:

    package work;
    
    public class Three {
    
    	public static void main(String[] args) {
    		int sum = 0;
    		int flag = 1, t = 3;
    		
    		for(int i=1;i<=100;i++) {
    			sum +=flag*((i*10)+t);
    			flag = -flag;
    		}
    		System.out.println(sum);
    	}
    
    }
    

    实验结果:

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

    实验源码:

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

    实验结果:

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

    实验源码:

    package work;
    
    public class Ten {
    
    	public static void main(String[] args) {
    		long count = 0, sum = 0;
    		
    		for(int i=1;i<=10;i++) {
    			count = (count*10)+8;
    			sum += count;
    		}
    		System.out.println(sum);
    	}
    }
    
    

    实验结果:

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

    实验源码:

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

    实验结果:

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

    实验源码:

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

    实验结果:

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

    实验源码:

    package work;
    
    public class Triangle {
    
    	public static void main(String[] args) {
    		int i, j, k;
    		for(i=0;i<5;i++) {
    			 for(j=0;j<=5-i;j++)
    				 System.out.print(" ");
    			 
    			 for(k=0;k<=i*2;k++) {
    			System.out.print("*");
    			}
    		System.out.println(" ");
    	}
      }
    }
    

    实验结果:

    总结:

    1.第三题时我一直使用的是int类型的变量,结果运行后发现结果为,与实际结果不一样,将变量改为long才发现是int类型限制了变量的长度。
    2.看到阶乘想到c里也有,想知道有什么区别,于是查了一下java阶乘Java实例 - 阶乘与c阶乘的资料C 语言实例 - 阶乘,发现好像实质上没有什么大的区别。

    第三周课程总结

    1.这周总的感受是上课的节奏越来越快了,不提前学或者课后习确实很难跟上。

    2.本周知识点总结


    笔记本借出去了,没办法拍别的笔记,我太难了。。。

  • 相关阅读:
    fedora/centos7防火墙FirewallD详解
    python for dl
    神经网络画图工具
    卷积神经网络的复杂度分析
    如何理解深度学习中的Transposed Convolution?
    吴恩达课程及视频笔记汇总
    从LeNet-5到DenseNet
    WPS for Linux
    caffe:fine-tuning
    python下图像读取方式以及效率对比
  • 原文地址:https://www.cnblogs.com/LILI6/p/11522416.html
Copyright © 2020-2023  润新知