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

    第三周课程总结:

    一:class类的定义,类是由属性和方法决定

    1:声明成员变量;
    2:定义方法内容。
    3:具有封装性,继承性,多态性。

    二:this的使用

    1:强调类的使用;
    2:表示当前对象;
    3:在构造函数中的使用;

    三:static声明属性

    1:static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。
    2:static声明的代码块是静态代码块;

    四:main方法的使用

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

    java 类名称 参数1 参数2 参数3....

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

    实验代码:

    public class Main {
    	public static void main(String[] args) {
    		int a, b, c, i;
    		for (i = 100; i < 1000; i++) {
    			a = i / 100;d
    			b = i % 100 / 10;
    			c = i % 10;
    			if (Math.pow(a, 3) + Math.pow(b, 3) + Math.pow(c, 3) == i) {
    				System.out.println(i + "是一个“水仙花数“");
    			}
    		}
    	}
    }
    

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

    实验代码:

    public class Main {
    	public static void main(String[] args) {
    		int i, num = 0, k, l = 1;
    		for (i = 1; i <= 100; i++) {
    			k = 10 * i + 3;
    			num = num + k * l;
    			l = -1 * l;
    		}
    		System.out.println(+num);
    	}
    }
    

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

    实验代码:

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

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

    实验代码:

    public class Main {
    	public static void main(String[] args) {
    		long i, k, num = 0;
    		for (i = 1; i <= 10; i++) {
    			for (k = 0; k < i; k++) {
    				num += Math.pow(10, k) * 8;
    			}
    		}
    		System.out.println(num);
    	}
    }
    

    1. 一个数如果恰好等于它的因子之和,这个数就称为完数。编写程序输出1000以内的所有完数。
      实验代码:
    public class he5 {
    	public static void main(String[] args) {
    		int i, n, max;
    		for (i = 2; i <= 1000; i++) {
    			max = 0;
    			for (n = 1; n <= i / 2; n++) {
    				if (i % n == 0)
    					max += n;
    			}
    			if (max == i) {
    				System.out.println(i);
    			}
    		}
    	}
    }
    

    错误:当第二个for循环条件为n<=i时;实验无法输出结果。
    解决:考虑后发现 基本没有因子能大于这个数的二分之一,将其改为n<=i/2.

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

    实验代码:

    public class he6 {
    	public static void main(String[] args) {
    		int i, max = 0, num = 0;
    		for (i = 1; i < 8888; i++) {
    			max += i;
    			if (max > 8888) {
    				max = num;
    				break;
    			} else {
    				num = max;
    			}
    		}
    		System.out.println(i-1);
    	}
    }
    

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

    实验代码:

    public class he7 {
    	public static void main(String[] args) {
    		int i, n, h = 1, k;
    		for (i = 4; i >= 0; i--) {
    			for (n = 0; n < i; n++) {
    				System.out.print(" ");
    			}
    			for (k = 1; k <= h; k++) {
    				System.out.print("* ");
    			}
    			h++;
    			System.out.print("
    ");
    		}
    	}
    }
    

    问题:最开始输出自动换行,导致图像不正确。
    解决:System.out.println(" ");是自动换行输出,System.out.print(" ");是不自动换行输出。

  • 相关阅读:
    .net基础学java系列(一)视野
    技术栈
    Apollo(阿波罗)携程开源配置管理中心
    .NET 动态调用WCF
    RPC 工作原理
    ServiceStack 简单使用
    PRC 框架选择
    栈vs堆,最详细的对比
    使用SuperSocket打造逾10万长连接的Socket服务
    开源项目练习EF+jQueryUI前后端分离设计
  • 原文地址:https://www.cnblogs.com/hhl296738954/p/11498456.html
Copyright © 2011-2022 走看看