撰写第三周课程总结及实验报告(一)
Java实验报告
班级 计科一班 学号 20188409 姓名 曹耀隆
完成时间
评分等级
实验一 Java开发环境与简单Java程序
一、 实验目的
(1) 熟悉JDK开发环境
(2) 熟练掌握结构化程序设计方法
二、 实验内容
- 打印输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其中各位数字立方和等于该数本身。例如,153是一个“水仙花数”。
- 编写Java程序,求13-23+33-43+…+973-983+993-1003的值。
- 编程求1!+2!+3!+…+20!。
- 编写Java程序,计算8+88+888+…前10项之和。
- 一个数如果恰好等于它的因子之和,这个数就称为完数。编写程序输出1000以内的所有完数。
- 编写应用程序,输出满足1+2+3+…+n<8888的最大正整数。
- 使用for循环打印下面的图形。
三、 实验过程
1. 打印输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其中各位数字立方和等于该数本身。例如,153是一个“水仙花数”。 |
实验源码:
|
实验结果: ![](https://i-blog.csdnimg.cn/blog_migrate/12fd5127e74899eb76a26ae9134d7cef.png) |
2. 编写Java程序,求13-23+33-43+…+973-983+993-1003的值。
2. 编写Java程序,求13-23+33-43+…+973-983+993-1003的值。 |
实验源码:
public class Sum { public static void main(String[] args) { int n; int sum=0;
for(n=1;n<=100;n++) { sum+=(10*n)*Math.pow(-1,n)*-1;} System.out.println(sum); } }
|
实验结果: ![](https://i-blog.csdnimg.cn/blog_migrate/638774ee3d3aee628b78b4c2ca5a6085.png)
3. 编程求1!+2!+3!+…+20!。 | 实验源码:
class practice4{ public static void main(String[] args) { long sum=0; for(int i=1;i<=20;i++) { sum=sum+fact(i); }
System.out.println(sum); } public static long fact(int n) { long result=1; for(int i=1;i<=n;i++) { result=result*i; } return result; } }
| 实验结果: ![](https://i-blog.csdnimg.cn/blog_migrate/304fb0337ac508123d6f70545c09aff1.png) |
4. 编写Java程序,计算8+88+888+…前10项之和。 | 实验源码:
public class pratice4 { public static void main(String[] args) { int i; long item=8,sum=0;
for(i=1;i<11;i++) { sum+=item; item=item*10+8; } System.out.println(sum); } }
| 实验结果: ![](https://i-blog.csdnimg.cn/blog_migrate/0a09cd9a2b4d4fa56cbb54eddefe2088.png)
5. 一个数如果恰好等于它的因子之和,这个数就称为完数。编写程序输出1000以内的所有完数。 |
public class practice4 { public static void main(String[] args) { int i,j; for(i=1;i<=1000;i++) { int sum=0; for(j=1; j<i; j++) { if(i%j==0) { sum=sum+j; } } if(i==sum) { System.out.println( i ); } } } }
| 实验结果: ![](https://i-blog.csdnimg.cn/blog_migrate/e8d313253ecf70947527342c84493d91.png) |
|
6. 编写应用程序,输出满足1+2+3+…+n<8888的最大正整数。 | 实验源码:
public class pratice4 { public static void main(String[] args) { int i=1; long sum=0; while(sum<8888){ i++; sum=sum+i;} System.out.println( i );}
}
| 实验结果: ![](https://i-blog.csdnimg.cn/blog_migrate/cb77ba32ef199ec1cb80f4742a6001db.png)
7. 使用for循环打印下面的图形。 ![](https://i-blog.csdnimg.cn/blog_migrate/b15330d9e992f3b63cf163a95f4add50.png) | 实验源码:
public class pratice4 { public static void main(String[] args) { for (int i = 0; i < 5; i++) { for (int j = i + 1; j < 5; j++) { System.out.print(" "); } for (int k = 0; k <= i; k++) { System.out.print("* "); } System.out.println("\n"); } } }
| 实验结果: ![](https://i-blog.csdnimg.cn/blog_migrate/3244eaa127d14f30061ceaf7046acbc4.png) |
实验报告总结 1,在解决需要利用函数的问题时需要调用Math.方法 例如第一题中的水仙花数和上课老师讲的加法例题; 2,在有些时候Math不包括一些方法需要重新定义函数,例如求阶乘和的那题我就重新定义了fact(),有利于后面的函数计算; 3,定义一些变量时会遇到一些长度变量的定义符号不正确,一般需要定义足够大的存储变量,short,byte,char<int<long<float<double部分数据类型优先级; 4,for语句和判断的if while语句不管是之前的c还是现在的java都有广泛的运用; 课堂总结 1,总的来说,相比于上周我上课明显感到了吃力,有点跟不上节奏。 2,体会到课前复习的重要性,对于之=这方面没有做好感到后悔,老师上课节奏快,天气热,心情躁动。 3,在练习时没有体会到每一个区域内 各个变量其含义,所以总是出一些自己觉得没错,但是又找不出错误点的情况; |
|