第三周总结
实验1.
1.答应输出所有的“水仙花数”,所谓"水仙花数“是指一个三位数,其中各位数字立方和等于该数本身。例如,153是一个"水仙花数"
实验源码
public class Narcissus{
public static void main (String args[]){
int x,y,z;
for(int i=100; i<=999;i++){
x=i/100;
y=(i%100)/10;
z=i%10;
if(Math.pow(x,3)+Math.pow(y,3)+Math.pow(z,3) == i){
System.out.println(i+"是水仙花数");
}
}
}
}
实验结果
2.编写java程序,求13-23+33-43+...+973-983+993-1003的值
实验源码
public class Ten{
public static void main (String args[]){
int sum = 0, flag = 1, i = 13;
while(i <= 1003){
sum = sum + flag * i;
i += 10;
flag = -flag;
}
System.out.println("13-23+33-43+...+973-983+993-1003的值为: "+sum);
}
}
实验结果
3.编程求1!+2!+3!+...+20!
实验源码:
public class Report01 {
public static void main (String args[]){
int i,sum=0,a=1;
for(i=1;i<=20;i++) {
a*=i;
sum+=a;
}
}
System.out.println(" "+sum);
}
实验结果
4.编写java程序,计算8+88+888+。。。的前10项和
实验源码
package test;
public class E8{
public static void main (String args[]) {
long sum = 0,a = 8;
for(int i=1;i<=10;i++) {
sum = sum + a;
a = a * 10 + 8;
}
System.out.println(""+sum);
}
}
实验结果
5.一个数如果恰好等于它的因子和,这个数就称为完数。编写程序输出1000以内的所有完数。
实验源码
package test;
public class Finish{
public static void main (String args[]) {
System.out.println("1000以内的所有完数:");
for(int i=2;i<=1000;i++) {
int s=0;
for(int j=1;j<i;j++) {
if(i%j==0)
s+=j;
}
if(s==i)
System.out.println(""+i);
}
}
}
实验结果
6.编写应用程序,输出满足1+2+3+4+...+n<8888的最大正整数
实验源码
package test;
public class Max8888 {
public static void main(String ars[]) {
int sum = 0, i;
for(i = 1; sum < 8888; i++) {
sum = sum + i;
}
i = i - 2;
System.out.println("1+2+3+...+n<8888的最大正整数为"+i);
}
}
实验结果
7.使用for循环打印出空格等腰三角形
实验源码
package test;
public class Triangle {
public static void main (String asrs[]) {
for(int i = 1; i <= 5; i++) {
for(int j = 5;j >= i; j--) {
System.out.print(" ");
}
for(int k=1;k<=i;k++) {
System.out.print("* ");
}
System.out.println();
}
}
}
实验结果
第三周学习总结
一丶学习了java的面向对象编程
面向对象的程序设计有3个主要特征:封装性丶继承性丶多态性
1.封装是为了安全,把不需要让外界知道的信息隐藏起来。
2.继承机制大大增强了程序代码的可复用性,提高了软件开发效率,降低了程序产生错误的可能性,为程序的修改扩充提供了便利。
3.多态是允许程序中出现重名现象。java语言中含有方法重载与对象多态两种形式的多态。
方法重载:在一个类中,允许多个方法使用同一个名字,但方法的参数不同,完成的功能也不同。
对象多态:子类对象可以与父类对象进行相互转换,而且根据其使用的子类的不同完成的功能也不同。多
多态的特征使程序的抽象程度和简捷程度更高,有助于程序人员对程序的分组协同开发。
类的定义
class 类名称{
数据类型 属性;
......
public 返回值的数据类型 方法名称 (参数1,参数2...){
程序语句;
[return 表达式]
}
}
定义Person类
class Person{
String name;
int age;
pubic void tell(){
System.out.println("姓名:"+name+", 年龄: "+age);
}
}
对象的创建与使用
类名 对象名称 = null; //声明对象
对象名称 = new 类型();//实例化对象,则需要通过对象,只要关键字new就表示开辟新的堆内存空间
this 关键词
作用:1强调本类中的方法 2.表示类中的属性 3.可以使用this调用本类的构造方法 4.this表示当前对象
staic关键词
*如果在程序使用static声明属性,则此属性称为全局属性或者静态属性。
*把属性使用static进行声明,可以将其变为公共属性。改变一个对象的属性,则全部的对象的属性内容全部发生变化。就是使用static声明的属性是所有对象共享的。
*static既可以在声明属性的时候使用,也可以用来声明方法,用它声明的方法有时也被称为“类方法”,可以由类名称直接调用。
非static声明的方法可以去调用static声明属性或方法的。但是static声明的方法是不能调用非static类型声明的属性或方法的。
实验1中,做水仙花数时用math的时候它报错了,
然后发现是我没有大写。打印等腰三角形这个题,我打印出来的是连续没有空格的三角形。对于用for循环打出号和空格间隔的三角形我没有想出来怎么写。最后看了一下怪他提交的作业,看了一下这个题,恍然大悟,在前面或者后面直接接一个空格就好了。