实验报告一
一、实验目的
(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 Flower{
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 work2{
public static void main(String[] args) {
int sum=0,flag=1,i;
for(i=13;i<=1003;i=i+10){
sum+=flag*i;
flag=-flag;
}
System.out.print(sum);
}
}
实验结果:
3. 编程求1!+2!+3!+…+20!。
实验源码:
public class work3{
public static void main(String args[]){
long sum=0,n=1;
for(int i=1;i<=20;i++){
n*=i;
sum+=n;
}
System.out.println(sum);
}
}
4. 编写Java程序,计算8+88+888+…前10项之和。
实验源码:
public class work4{
public static void main (String []args){
long sum=0,n=0;
int i;
for(i=1;i<=10;i++){
n=n*10+8;
sum+=n;
}
System.out.println(sum);
}
}
实验结果:
5. 一个数如果恰好等于它的因子之和,这个数就称为完数。编写程序输出1000以内的所有完数。
实验源码:
public class wanshu {
public static void main(String[] args) {
int sum=0,i,n;
for(i=1;i<=1000;i++) {
for(n=1;n<=i/2;n++) {
if(i%n==0)
sum+=n;
}
if(sum==i)
System.out.println(sum);
}
}
}
实验结果:
6. 编写应用程序,输出满足1+2+3+…+n<8888的最大正整数。
实验源码:
public class work6{
public static void main (String[]args){
int sum=0,i=1;
while(sum<8888){
sum+=i;
i++;
}
System.out.println(i-1);
}
}
实验结果:
7. 使用for循环打印下面的图形。
实验源码:
public class work7{
public static void main(String[] args) {
int i,j;
for(i=1;i<=5;i++){
for(j=5-i;j>0;j--){
System.out.print(" ");
}
for(j=1;j<=i;j++)
System.out.print("* ");
System.out.print("\n");
}
}
}
总结:总体来说都还比较简单,有时一些小错误自己也能及时发现。
课程总结:
这周的课程学到了很多,有封装性,构造方法,匿名对象,static的作用以及使用方法,还有this的一些关键属性。老师讲的不错,不过光上课听还是似懂非懂的样子,所以还是要配合自己课后自学,看看书查查百度什么的,才能更好的理解。加油,希望自己的编程水平可以一点点进步吧。