第三周课程总结
第三周学习了一些新知识,例如:Java中this关键字作用、static声明属性等。在使用Java编程的过程中的确遇到过一些问题,例如:实验一的第四题最终计算结果太大,用int定义会导致最终结果数据出现错误,因此我查找了书籍,发现用long来定义即可。
实验报告:
1.打印输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其中各位数字立方和等于该数本身。例如,153是一个“水仙花数”。
源码1
package shiyan;
public class shuixianhua {
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);
}
}
}
}
截图1:
2. 编写Java程序,求13-23+33-43+…+973-983+993-1003的值。
源码2
package shiyan;
public class Qiuhe{
public static void main(String [] args) {
int i,sum=0,flag=1;
for(i=13;i<=1003;i=i+10){
sum+=i*flag;
flag=-flag;
}
System.out.println(sum);
}
}
截图2:
3. 编程求1!+2!+3!+…+20!
源码3
package shiyan;
public class Jiechen {
public static void main(String[] args) {
long i,j,sum1=1,sum2=0;
for(i=1;i<=20;i++){
for(j=1;j<=i;j++){
sum1*=j;
}
sum2+=sum1;
sum1=1;
}
System.out.println(sum2);
}
}
截图3:
4. 编写Java程序,计算8+88+888+…前10项之和。
源码4
package shiyan;
public class Zhihe {
public static void main(String[] args) {
long i=0,j,sum=0;
for(j=1;j<=10;j++){
i=i*10+8;
sum+=i;
}
System.out.println(sum);
}
}
截图4:
5. 一个数如果恰好等于它的因子之和,这个数就称为完数。编写程序输出1000以内的所有完数。
源码5
package shiyan;
public class Wanshu {
public static void main(String[] args) {
int i,j,k,sum=0;
for(i=1;i<=1000;i++){
for(j=2;j<i;j++){
for(k=j+1;k<i;k++){
if(j*k==i){
if(j==k){
sum+=j;
}
else{
sum+=j+k;
}
}
}
}
if(i==1+sum&&i!=1){
System.out.println(i);
}
sum=0;
}
}
}
截图5:
6. 编写应用程序,输出满足1+2+3+…+n<8888的最大正整数。
源码6
package shiyan;
public class Maxn {
public static void main(String[] args) {
int n=1,sum=1;
while(sum<8888) {
n++;
sum += n;
}
System.out.println(n);
}
}
截图6:
7. 使用for循环打印下面的图(等腰三角形)。
源码7
package shiyan;
public class Jinzita {
public static void main(String[] args) {
int i,j=5,x,y;
for(i=1;i<=j;i++){
for(x=1;x<=j+1-i;x++){
System.out.print(" ");
}
for(y=1;y<=i;y++){
System.out.print("* ");
}
System.out.print("
");
}
}
}
截图7: