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

    实验报告(一)

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

    (1).实验代码:

    package 测试;
    public class 测试0 {
    
        public static void main(String[] args) {
            int sum,a,b,c;
            for(a=1;a<=9;a++)
            {
                for(b=0;b<=9;b++)
                {
                    for(c=0;c<=9;c++)
                    {
                        sum=a*100+b*10+c;
                        if(sum==a*a*a+b*b*b+c*c*c)
                        {
                            System.out.println(sum);
                        }
                    }
                }
            }   
    
        }
    
    }
    

    (2)实验运行结果截图:

    (3)实验大致思路:

    题目限制了3位数,所以可以直接用3个数进行循环,然后判断符合的数进行输出

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

    (1).实验代码:

    package 测试;
    public class 测试0 {
    	public static void main(String[] args) {
    		int sum=0,a,b=1;
    		for(a=1;a<=100;a++)
    		{
    			sum+=(a*10+3)*b;
    			b=-b;
    		}
    		System.out.println(sum);
    	}
    
    }
    
    

    (2).实验运行结果截图:

    (3)实验大致思路:

    观察题目就大致能看出来是a*10+3模式的数进行循环加减,直接循环之后输出最后的结果就完成了

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

    (1).实验代码:

    package 测试;
    public class 测试0 {
    
        public static void main(String[] args) {
            long sum=0,a,b,c;
            for(a=1;a<=20;a++)
            {
            	b=1;
            	for(c=1;c<=a;c++)
            	{
            		b*=c;
            	}
            	sum+=b;
            }
            System.out.println(sum);
        }
    
    }
    

    (2)实验运行结果截图:

    (3)实验大致思路:

    需要在题目中建立一个循环来计算阶乘,完成了计算阶乘这一步剩下的就只是相加然后输出结果,但是如果定义的变量为int,就会出问题,结果是268040729,改成long之后就正常了,结果为2561327494111820313.原因是数字太大,超出了范围.

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

    (1).实验代码:

    package 测试;
    public class 测试0 {
    
        public static void main(String[] args) {
            int sum=0,a,b=0;
            for(a=1;a<10;a++)
            {
            	b=b*10+8;
            	sum+=b;
            }
            System.out.println(sum);
        }
    
    }
    

    (2)实验运行结果截图:

    (3)实验大致思路:

    和第二题类似,都是找到循环相加的式子直接循环相加并输出

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

    (1).实验代码:

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

    (2)实验运行结果截图:

    (3)实验大致思路:

    循环1~1000所有的数,将不等于本身的他们的因子相加之后再与原来的数进行比较,相同则可以直接输出

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

    (1).实验代码:

    package 测试;
    public class 测试0 {
    
        public static void main(String[] args) {
            int sum=0;
            for(int i=1;i<8888;i++)
            {
            	sum+=i;
            	if(sum>8888)
            	{
            		sum=sum-i;
            		i--;
            		System.out.println("n为"+i);
            		System.out.println("最大总和为"+sum);
            		break;
            	}
            }
            
            
        }
    
    }
    

    (2)实验运行结果截图:

    (3)实验大致思路:

    把1,2,3...n逐渐相加,直到出现大于8888的,这个时候总数减去这轮循环加的数,这轮循环加的数减一就可以求出n还有小于8888的最大和

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

    (1).实验代码:

    package 测试;
    public class 测试0 {
    
        public static void main(String[] args) {
            int a=4,b=0;
            for(int i=1;i<=5;i++)
            {
            	for(int j=1;j<=a;j++)
            	{
            		System.out.print(" ");
            	}
            	System.out.print("*");
            	for(int k=1;k<=b;k++)
            	{
            		System.out.print(" *");
            	}
            	a--;
            	b++;
            	System.out.println("");
            }
            
            
        }
    
    }
    

    (2)实验运行结果截图:

    (3)实验大致思路:

    设计好要输出多少空格和什么时候输出空格和*,然后用for循环输出就可以了

    第三周课程总结:

    这周对java进一步的学习,学习了很多新的用法,但是还是不能很熟练的运用到实际使用,这次作业的7道题不难,能用C语言的模式稍微变动一下就行了,不过java还是对我来说有些复杂,我觉得我要通过题目才能把java的那些方法运用起来.
    理论比起实践来说还是后者比较重要而且相对更容易弄懂.

  • 相关阅读:
    文件系统的几种类型:ext3, swap, RAID, LVM
    文件系统的几种类型:ext3, swap, RAID, LVM
    HTML特殊符号、常用字符实体
    HTML特殊符号、常用字符实体
    HTML特殊符号、常用字符实体
    多播、组播、广播优缺点分析
    多播、组播、广播优缺点分析
    多播、组播、广播优缺点分析
    [转载]Web前端和后端之区分,以及面临的挑战【转】
    [转载]Web前端和后端之区分,以及面临的挑战【转】
  • 原文地址:https://www.cnblogs.com/zhuwanxing/p/11516095.html
Copyright © 2011-2022 走看看