使用java的集合做一个输入10个数得到其中无重复数的平均数,保留小数点后3位输出的程序
时间: 2024-03-21 15:44:30 浏览: 41
好的,这是一个简单的Java程序,可以实现您的需求:
```java
import java.util.*;
public class Average {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Set<Double> set = new HashSet<>(); // 使用Set存储无重复的数
double sum = 0;
for (int i = 0; i < 10; i++) {
double num = sc.nextDouble();
if (set.add(num)) { // 如果添加成功,说明是新的数字
sum += num;
}
}
double average = sum / set.size();
System.out.printf("%.3f", average); // 保留小数点后3位输出
}
}
```
您可以在控制台输入10个数,程序会自动计算无重复数的平均数,并输出保留小数点后3位的结果。
相关问题
用java写代码集合是一个无序的、没有重复元素的数据类型,在输出或转为序列类型时,其元素位置随机出现。 李白是一个社区大学的老师,一天,他让学生小明计算一下温室里植物的平均高度。 平均高度 = 不同高度的和 / 不同高度的数量 输入格式: 输入N 个用空格分隔的植物的高度 输出格式: 在一行内输出植物的平均高度,保留小数点后3位 输入样例: 161 182 161 154 176 170 167 171 170 174 输出样例: 169.375 代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB
好的,下面是 Java 代码实现:
```java
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Set<Integer> heights = new HashSet<>();
while (sc.hasNextInt()) {
int height = sc.nextInt();
heights.add(height);
}
sc.close();
double sum = 0;
for (int height : heights) {
sum += height;
}
double avg = sum / heights.size();
System.out.printf("%.3f", avg);
}
}
```
这个程序的思路很简单,首先定义一个 HashSet 来存储不同的高度,然后遍历输入的植物高度,将不同的高度加入 HashSet 中。最后将 HashSet 中不同高度的和除以数量即可得到平均数。为了保留小数点后三位,我们使用 `System.out.printf` 方法输出结果。
用集合计算一下温室里植物的平均高度。 平均高度 = 不同高度的和 / 不同高度的数量 输入格式: 输入N 个用空格分隔的植物的高度 输出格式: 在一行内输出植物的平均高度,保留小数点后3位 输入样例: 161 182 161 154 176 170 167 171 170 174 输出样例: 169.375,用java
好的,这是一个简单的求平均数问题。可以使用 Java 的内置数据结构 `Set` 来记录不同高度,然后依次累加高度和计算不同高度数量。下面是一组示例代码:
```java
import java.util.*;
public class PlantHeight {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String input = scanner.nextLine();
String[] heights = input.split(" ");
Set<String> set = new HashSet<>(Arrays.asList(heights));
int sum = 0;
for (String height : set) {
sum += Integer.parseInt(height);
}
double average = (double) sum / set.size();
System.out.printf("%.3f", average);
}
}
```
输入样例:
```
161 182 161 154 176 170 167 171 170 174
```
输出结果:
```
169.375
```
希望这个解答能够帮到你。
阅读全文