第三周课程总结&实验报告一

mac2022-06-30  21

实验一 Java开发环境与简单Java程序

一、实验目的

熟悉JDK开发环境 熟练掌握结构化程序设计方法

二、实验内容

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循环打印下面的图形。

三、实验过程

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

实验源码:
package housewor; public class Shuixianhua { public static void main(String[] args) { // TODO Auto-generated method stub int a, b, c; for(int i=100;i<999;i++) { a=i/100; b=(i0)/10; c=i; 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 Demo1 { public static void main(String[] args) { int a=0; for(int i=0;i<100;i++) { if(i%2==0) { a-=i*10+3; //偶次数前是负号 } else{ a+=i*10+3; } } System.out.println(a); } }
实验结果:

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

实验源码:
public class Demo2 { public static void main(String[] args) { int sum=0; int n=1; for (int i=1; i<=20 ;i++ ) { n *= i; //阶乘 sum += n; //累加数值 } System.out.println(sum); } }
实验结果

遇到的问题: 在编译过程中,定义数据类型时,使用int和long显示的结果不同

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

实验源码:
public class demo3 { public static void main(String[] args) { long a= 8,sum=0; for(int i=0;i<10;i++) { sum+=a; //累加总和 a=a+(a*10); //a+a*10;(a+a*10)*10+a;... } System.out.println(sum); } }
实验结果:

5.一个数如果恰好等于它的因子之和,这个数就称为完数。编写程序输出1000以内的所有完数。

实验源码:
public class demo4 { public static void main(String[] args) { for (int i = 1; i < 1000; i++) { int sum = 0; for (int j = 1; j < i; j++) { if (i % j == 0) { sum =sum+ j; //因子数:6=1+2+3 } } if (i == sum) { System.out.println(i); } } } }
实验结果:

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

实验源码:
public class Demo5 { public static void main(String[] args) { int n=0, sum=0; for(int i =0;i<1000;i++) { sum=sum+n; n++; if(sum>8888) { break; } } n--; System.out.println(n-1); } }
实验结果:

能输出满足1+2+3+…+n<8888的最大正整数应该是n=132

7.使用for循环打印下面的图形。

实验源码:
public class demo6 { public static void main(String[] args) { for( int i=1;i<=5;i++) //先输出空格,再输出* { for(int j=0;j<5-i;j++) { System.out.print(" "); //从上往下 } for(int k=1;k<=i;k++) { System.out.print("* "); } System.out.println(); } } }
实验结果:

遇到的问题:写代码的思路是先打空格再打*,出现了问题,后来发现我把j++打成了j--输出一直是个错误,因为想着从上到下,我太难了

实验总结:

在编写代码的过程中会遇到很多问题 1.因为学习基础不扎实,有很多小细节问题需要去百度 2.算法能力还是欠缺的,思路是对的,但是实现起来就要想半天 3.在编译时对语句的使用不熟练 需要去解决:熟练语法,有时间刷刷题,知识点要记牢,不能粗略的阅读

转载于:https://www.cnblogs.com/muxixixixi/p/11455694.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)