Java练习3

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

前言

一、题目1

1.题目

2.解决

2.1 思路

2.2 代码

二、题目2

1.题目

2.解决

2.1 思路

2.2 代码

总结


前言

提示:这里可以添加本文要记录的大概内容:

12月28日练习内容


提示:以下是本篇文章正文内容,下面案例可供参考

一、题目1

1.题目

一球从h米高度自由落下,每次落地后反弹回原高度的一半再落下,求它在第n次落地时共经过了多少米?第n次反弹多高?

2.解决

2.1 思路

  • 定义一个变量sum,用于记录第n次反弹后经过的总距离。
  • 使用循环模拟落地反弹的过程,每次反弹,高度减半,每次经过的距离为反弹后距离的三倍,总距离只需将每次的距离累加。
  • 由于最后要计算第n次落地时经过的距离,所以要减去最后一次反弹的高度,即sum-h。

2.2 代码

代码如下(示例):

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        float h = in.nextFloat();
        int n = in.nextInt();

        float sum = 0;
        for (int i = 1; i <= n; i++) {
            h /= 2;
            sum += h * 3;

        }
        System.out.println(String.format("%.3f", h) + " " + String.format("%.3f",
                           sum - h));
    }

}

二、题目2

1.题目

键盘输入任意多个10000以内正整数(负数代表结束),求出它们的平均数,

2.解决

2.1 思路

  • 定义一个计数变量count和一个累加和变量sum,分别用于记录整数个数,以及它们的累加和。
  • 使用一个循环进行模拟输入,如果是负数,则终止循环。每轮循环,计数加一,并且累加和加上对应数字,最后将累加和与计数的商作为平均数输出。

2.2 代码

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        double avg = 0;
        int count = 0;
        double sum = 0;
        while(true){
            int num = in.nextInt();
            if(num < 0){
                break;
            }
            sum += num;
            count ++;      
        }
        avg = sum / count;
         System.out.println(String.format("%.2f",avg));
 
    }
}

总结

提示:这里对文章进行总结:

你可能感兴趣的:(java)