创建一个项目并实现下面的方法和一个main方法。 1.编写一个用给定区间内不同的随机实数填补一个实数列表的程序。该程序的参数如下:一个实数的数组列表(我们填充这个数组),一个整数,表示将生成多少个数字,一个实数,表示下界,个实数,表示上界。 2编写一个函数,它返回一个对数值,并决定给定区间内是否存在任何数字。该函数的参数如下:如果上界低于下界,或者数组列表为空,则在进程开始时打印错误消息,并立即完成函数的工作。一个实数的数组列表(我们在这里搜索),一个实数,表示下界,一个实数,表示上界。 3.编写一个从给定数组列表中返回最小数字的函数!该函数的参数如下:一个实数的数组列表(我们在这里搜索)。如果数组列表为空,在进程开始时打印错误消息,并立即完成函数的工作! 4在主程序(main方法)中,从用户那里读取一个整数和两个实数,调用实现的方法并打印出它们的结果,同时打印出生成的数字。
时间: 2024-02-24 18:55:38 浏览: 45
好的,以下是实现上述功能的代码:
```java
import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入需要生成的随机数个数:");
int count = sc.nextInt();
System.out.print("请输入随机数的下界:");
double lowerBound = sc.nextDouble();
System.out.print("请输入随机数的上界:");
double upperBound = sc.nextDouble();
ArrayList<Double> list = new ArrayList<>();
fillListWithRandomNumbers(list, count, lowerBound, upperBound);
System.out.println("生成的随机数为:" + list);
System.out.print("请输入需要查找的下界:");
double lowerSearchBound = sc.nextDouble();
System.out.print("请输入需要查找的上界:");
double upperSearchBound = sc.nextDouble();
if (lowerSearchBound > upperSearchBound || list.isEmpty()) {
System.out.println("输入错误!");
return;
}
boolean exists = doesNumberExistInList(list, lowerSearchBound, upperSearchBound);
System.out.println("给定区间内是否存在数字:" + exists);
double min = getMinNumberInList(list);
System.out.println("列表中最小的数字为:" + min);
}
public static void fillListWithRandomNumbers(ArrayList<Double> list, int count, double lowerBound, double upperBound) {
Random random = new Random();
for (int i = 0; i < count; i++) {
double num = lowerBound + (upperBound - lowerBound) * random.nextDouble();
list.add(num);
}
}
public static boolean doesNumberExistInList(ArrayList<Double> list, double lowerBound, double upperBound) {
if (lowerBound > upperBound || list.isEmpty()) {
return false;
}
for (double num : list) {
if (num >= lowerBound && num <= upperBound) {
return true;
}
}
return false;
}
public static double getMinNumberInList(ArrayList<Double> list) {
if (list.isEmpty()) {
System.out.println("列表为空!");
return Double.NaN;
}
double min = Double.MAX_VALUE;
for (double num : list) {
if (num < min) {
min = num;
}
}
return min;
}
}
```
希望这个代码能够帮到你!如果你有任何疑问,请随时问我。
阅读全文