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

实验报告:

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

实验代码:

 public class ShuiXianHua {
public static void main(String[] args) {
           for (int i = 100; i <1000 ; i++) {
        int firstNum = i/100;
                        int secondNum = i/10%10;
                                        int thirdNum = i%10;
        if(firstNum*firstNum*firstNum + secondNum*secondNum*secondNum+thirdNum*thirdNum*thirdNum == i){
System.out.println("水仙花数为:" + i);
                                        }
                              }
                 }
}
运行截图:


 2. 编写Java程序,求13-23+33-43+…+973-983+993-1003的值。

实验代码:

 public class ForDemo{
            public static void main(String[] args){
                        int sum = 0;
                        int i;
                        int n;
                   for( i = 13; i<=1003;){
   for(n=1;n<=100;n++){
                        if(n%2==0)
                        sum-=i;
                        else
                        sum+=i;
                        i+=10;
  }   
  }
                  System.out.println(sum);      
            }
}
实验截图:

3. 编程求1!+2!+3!+…+20!。
实验代码:
 public class ForDemo{
      public static void main(String[] args){
             long sum = 0;
             for(int i=0;i<20;i++)
           sum += factorial(i+1);
             System.out.println(sum);
      }
      private static long factorial(int n){
         int mult = 1;
         for(int i=1;i<n+1;i++)
           mult *= i;
         return mult;
       }
}实验截图:
 
4. 编写Java程序,计算8+88+888+…前10项之和。
实验代码:
 public class ForDemo{
    public static void main(String args[]){
        long a,b=0, c=0;
        System.out.println("sum");
        for(a=1;a<=10;a++){     
            b=b*10+8;         
            c+=b;              
        }
        System.out.print(c);
    }
}
实验截图:
 

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

实验代码:

 public class ForDemo{
        public static void main(String[] args){
               int i,j;        
               int num = 0;        
               for(i=1; i<=1000; i++){
                     num = 0;
                     for(j=1; j<i; j++){  
                           if(i%j == 0){  
                                num = num+j;           
                           }           
                     }            
                     if(i == num){                       
                            System.out.print(i+" ");        
                     }        
                }    
         }
}
实验截图:
 
6. 编写应用程序,输出满足1+2+3+…+n<8888的最大正整数。
实验代码:
 public class ForDemo{
            public static void main(String[] args){
         int sum=0;
         int i;
         for(i=1;sum+i<8888;i++){
                                     sum=sum+i;
                         }
                         System.out.println("sum"+sum);
                         System.out.println(i-1);
            }
}
实验截图:
 
7. 使用for循环打印下面的图(等腰三角形)
实验代码:
 public class ForDemo{
public static void main(String[]args){
for(int i=1; i<=5; i++){
for(int n=0; n<5-i; n++){
System.out.print(" ");
}
for(int x=1; x<=i; x++){
System.out.print("* ");
}
System.out.println();
}
}
}
实验截图:
 
课程总结:这周学习了this的用法,Java关键字,一个源文件的格式。总体难度不算太难,难度梯度也设置得挺适合
原文地址:https://www.cnblogs.com/y6666/p/11522577.html