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是一个“水仙花数”。
实验源码:
public class Shuixian{ public static void main(String args[]){ int a,b,c,d; for(int i=100;i<=999;i++){ a=i%10; c=i/10; b=c%10; d=c/10; if(a*a*a+b*b*b+d*d*d==i){ System.out.println(i); } } } }
实验结果:
2.编写Java程序,求13-23+33-43+…+973-983+993-1003的值。
实验源码:
public class Shijia{ public static void main(String[] args){ int sum=0; for(int i=13;i<=1003;i+=10){ if((i/10)%2==0){ sum=sum-i; } else{ sum=sum+i; } } System.out.println("sum="+sum); } }
实验结果:
3.编程求1!+2!+3!+…+20!。
实验源码:
public class Jiecheng{ public static void main(String[] args){ long sum=0; long a=1; for(int i=1;i<=20;i++){ a=1; for(int j=1;j<=i;j++){ a*=j; } sum=sum+a; } System.out.println("sum="+sum); } }
实验结果:
4.编写Java程序,计算8+88+888+…前10项之和。
实验源码:
public class Bashi{ public static void main(String[] args){ long sum=0; long i=8; for(int j=1;j<=10;j++){ sum=sum+i; i=i*10+8; } System.out.println("sum="+sum); } }
实验结果:
5.一个数如果恰好等于它的因子之和,这个数就称为完数。编写程序输出1000以内的所有完数。
实验源码:
public class Wanshu{ public static void main(String[] args){ int sum=0; for(int i=1;i<=1000;i++){ for(int j=1;j<i;j++){ if(i%j==0) sum=sum+j; } if(sum==i) System.out.println(sum); sum=0; } } }
实验结果:
6.编写应用程序,输出满足1+2+3+…+n<8888的最大正整数。
实验源码:
public class Baqian{ public static void main(String[] args){ long sum=0; int i=1; do{ sum=sum+i; i++; }while(sum<8888); System.out.println(i-2); } }
实验结果:
7.使用for循环打印下面的图形。
实验源码:
public class Triangle{ public static void main(String[] args){ for(int i=1;i<=5;i++){ for(int k=1;k<7-i;k++){ System.out.print(" "); } for(int b=1;b<=i;b++) System.out.print("* "); System.out.println(" "); } } }
实验结果:
总结:
使用for循环语句进行简单的输出。
其中遇到很多数据的溢出,应该用长整型的,用成了整型,导致结果错误。
第三周小结
一、类与对象
对象的创建及使用
类名 对象名称 = null; //声明对象 对象名称 = new 类名(); //实例化对象,只要有关键字new就表示开辟新的堆内存空间 class Person{ ....... ....... } ...... Person per = null; per = new Person; ......
创建多个对象
class Person{ ....... ....... } ...... Person per1 = null; Person per2 = null; per1 = new Person(); per2 = new Person() ......
二、封装性
为属性封装:private 属性类型 属性名称;
为方法封装:private 方法返回值 方法名称(参数列表){}
class Person{ private String name; .......... }
三、构造方法
class 类名称{
访问权限 类名称(类型1 参数1,.........){
程序语句;
}
}
class Person{ public Person(){ System.out.println(“ ....”) } }