首页 > 编程语言 > 详细

Java实验报告(一)

时间:2019-09-07 23:55:25      阅读:159      评论:0      收藏:0      [点我收藏+]

Java实验报告(一)

实验过程

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

实验源码:



import java.lang.Math;
class Narcissus{
    public static void main(String[] args){
        int num1,num2,num3;
            int count = 0;
            for(int i = 100;i < 1000;i++){
                num1 = i / 100;
                num2 = (i % 100) / 10;
                num3 = i % 10;
                if(Math.pow(num1,3)+Math.pow(num2,3)+Math.pow(num3,3) == i){
                    count = 1;
                    System.out.println(i+"是水仙花数");          
                }
            }
            if(count == 0){
                System.out.print("No");
            }
            System.out.println();
        
    }
}

实验结果:
技术分享图片

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

实验源码:


class Staggered{
    public static void main(String[] args){
        int num = 13;
        int flag = 1;
        int sum = 0;
        for(int i = 0;i <= 99;i++){
            sum += flag * num;
            flag = -flag;
            num += 10;
        }
        System.out.println(sum);
        
        
    }
}

实验结果:
技术分享图片

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

实验源码:



class Factorial{
    public static void main(String[] args){ 
        long result = 0;
        for(int i = 1;i <= 20;i++){
            long product = 1;
            for(int j = 1;j <= i;j++){
                product *= j;
                
            }
            result += product;
        }
        System.out.println("1!+2!+3!+…+20! = "+result);
    }
}

实验结果:
技术分享图片

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

实验源码:



class Summation{
    public static void main(String[] args){

        String num = "";
        long sum = 0;
        for(int i = 1;i <= 10;i++){//求前N项的和
            num +='8';
            sum += Long.parseLong(num);
        }
        System.out.println(sum);
    }
}

实验结果:
技术分享图片

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

实验源码:


class Perfect{
    public static void main(String[] args){
        
        for(int i = 1;i < 1000;i++){
                        if(i == 1){
                            continue;
                        }
            int sum = 1;
            for(int j = 2;j < i;j++){
                if(i % j == 0){
                    sum += j;
                }
            }
            if(sum == i){
                System.out.println(i + "是一个完数");                
            }
            
        }
    }   
}

实验结果:
技术分享图片

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

实验源码:


class Simple{
    public static void main(String[] args){
        int sum = 0;
        int i = 1;
        while(sum < 8888){
            sum += i;
            i++;
        }
        System.out.println("满足1+2+3+…+n<8888的最大正整数为"+i);
    }
}

实验结果:
技术分享图片

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

技术分享图片

实验源码:


import java.util.Scanner;

class Triangle {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();// 三角形的层数
        String op = sc.next();// 三角形的符号
        for (int i = 1; i <= N; i++) {
            int k = 1;
            for (int j = 1; j <= 2 * N; j++) {
                if (j == N - i + k) {
                    System.out.print(op);
                    k++;
                }
                if (j == N) {
                    System.out.println();
                    break;
                } else {
                    System.out.print(" ");
                }
            }
        }
    }
}

实验结果:
技术分享图片

总结:

题目较为基础,比较简单

Java实验报告(一)

原文:https://www.cnblogs.com/lmcmha/p/11483721.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!