Java 作业笔记01

题目1:使用for循环、while循环、do…while循环三种方式实现1+2+……+100求和。

for循环:

        int sum = 0;
        for (int i = 1; i <=100 ; i++) {
                sum +=i;
        }
        System.out.println("计算1+2+3....+100="+sum);

while循环:

        int sum = 0;
        int i = 1;
        while (i<=100){
                sum+=i;
             i++;
        }
        System.out.println("计算1+2+3+4....+100="+sum);

do while循环:

        int i=1;
        int sum=0;
        do {
            sum+=i;
            i++;
        }while(i<=100);
        System.out.println("计算1+2+3+4....+100="+sum);

编程计算 1+3+5+7+…99的和:

        int sum = 0;
        for (int i = 1; i <=100 ; i++) {
            if(i%2!=0){
                sum +=i;
            }
        }
        System.out.println("计算1+3+5....+99="+sum);

编程输出所有的玫瑰花数:

            int n=100;
            int p1,p2,p3,p4;
            while (n <= 9999){ //循环条件
            //分离出个位、十位、百位和千位数
            p1 = n % 10;
            p2 = (n - p1) / 10 % 10;
            p3 = (n - 10 * p2 - p1) / 100 % 10;
            p4 = (n - 10 * p3 - 10 * p2 - p1) / 1000;
            //筛选玫瑰花数
            if (n ==p4 * p4 * p4 * p4+ p3 * p3 * p3 * p3 + p2 * p2 * p2 * p2 + p1 * p1 * p1 * p1){
                System.out.println(n + "=" +p4 + "^4 +" + p3 + "^4 +"+ p2 + "^4 +"+ p1 + "^4");
            }
            n++;
        }

编程完成猜数字游戏:

        Random r = new Random();
        int luckNumber = r.nextInt(100)+1;
        Scanner sc = new Scanner(System.in);
        while (true){
            System.out.println("请输入一个整数数字:");
            int guessNumber = sc.nextInt();
            if(guessNumber > luckNumber){
                System.out.println("数字大了");
            }else if(guessNumber < luckNumber){
                System.out.println("数字小了");
            }else{
                System.out.println("恭喜你,猜中了");
                break;
            }
        }

编程判断一个整数是否是素数:

        int n;
        boolean isPrimeNumber;
        Scanner sc = new Scanner(System.in);
        System.out.print("n = ");
        n = sc.nextInt();
        isPrimeNumber = true;
        for (int i = 2; i <= n - 1; i++) {
            if (n % i == 0) {
                isPrimeNumber = false;
                break;
            }
        }
        if (n == 1) {
            System.out.println(n + "既不是素数,也不是合数。");
        } else if (isPrimeNumber) {
            System.out.println(n + "是素数。");
        } else {
            System.out.println(n + "是合数。");
        }

编程输出100以内的全部素数,每行打印5个素数:

        boolean isPrime = true;
        int PrimeCount = 0;
        for (int i=1; i <= 100; i += 2) {
            int k = (int) Math.sqrt(i);
            isPrime = true;
            for (int j = 2; j <= k; j++) {
                if (i % j == 0) {
                    isPrime = false;
                    break;
                }
            }
            if (isPrime) {
                PrimeCount++;
                System.out.print(i + "\t");
                if (PrimeCount % 5 == 0) {
                    System.out.println();
                }
            }
        }

编程输出指定范围内的闰年:

·输出2000~2500之间的所有闰年,要求每行输出5个年份,并且统计总共有多少个闰年。
·提示:用for循环控制范围,在循环里嵌套一个选择结构负责筛选和统计闰年个数,选择结构里还要嵌套选择结构来负责每输出5个年份就换行。

        int sum = 0;
        for (int i = 1; i <=100 ; i++) {
            if(i%2!=0){
                sum +=i;
            }
        }
        System.out.println("计算1+3+5....+99="+sum);

编程打印100-999的水仙花数并计数:

        int sum = 0;
        for (int i = 100 ; i <=999 ; i++) {
            int ge = i %10;
            int shi = i/10 %10;
            int bai = i/100;
            if(ge*ge*ge + shi*shi*shi+bai*bai*bai == i){
                sum+=1;
                System.out.println(i);
            }
        }
        System.out.println("水仙花数个数为:"+sum);

编程打印实心钻石:

·实心钻石,其实由一个正立的等腰三角形和一个倒立的等腰三角形组合而成,也就是一个菱形。

Scanner scan = new Scanner(System.in);
        System.out.println("请输入腰长:");
        int yao = scan.nextInt();
        //上半部分
        for(int i=1;i<=yao;i++){
            for(int j=1;j<=yao-i;j++){
                System.out.print(" ");
            }
            //打印*号
            for(int k=1;k<=2*i-1;k++){
                System.out.print("*");
            }
            //换行
            System.out.println();
        }
        //下半部分
        for(int i=yao-1;i>0;i--){
            //打印空格
            for(int j=1;j<=yao-i;j++){
                System.out.print(" ");
            }
            //打印*号
            for(int k=1;k<=2*i-1;k++){
                System.out.print("*");
            }
            //换行
            System.out.println();
        }

编程计算1!+2! + 3! +… +10!的值:

提示:外循环负责累加求和,内循环负责累乘计算阶乘。

        int sum=0;
        int j = 1;
        for (int i = 1; i <=10 ; i++) {
            j =j*i;
            sum+=j;
        }
        System.out.println("10的阶乘之和是:"+sum);

编程输出指定范围内的素数:

·输出200~400之间的全部素数,要求每行输出5个

 int k = (int) Math.sqrt(i);
            isPrime = true;
            for (int j = 2; j <= k; j++) {
                if (i % j == 0) {
                    isPrime = false;//不是素数
                    break;
                }
            }
            if (isPrime) {
                PrimeCount++;
                System.out.print(i + "\t");
                if (PrimeCount % 5 == 0) {
                    System.out.println();
                }
            }
        }
  • 10
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浪里个浪的1024

你的鼓励将是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值