请帮忙编写一个Java程序,随机生成位于嘉兴市内,格式与{"date":"10:48:00","location":"120.781084,30.738425","pos":"中国浙江省嘉兴市"}一致的定位坐标数据,从00:00:00开始每隔10分钟一个坐标点,到23:59:59结束,并将这些坐标点整合成数组输出
时间: 2023-07-02 22:18:26 浏览: 79
好的,以下是生成坐标数据的 Java 代码:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class LocationGenerator {
private static final double MIN_LONGITUDE = 120.741;
private static final double MAX_LONGITUDE = 120.915;
private static final double MIN_LATITUDE = 30.672;
private static final double MAX_LATITUDE = 30.830;
public static void main(String[] args) {
Random random = new Random();
List<String> positions = new ArrayList<>();
// 从 00:00:00 开始,每隔 10 分钟生成一个坐标点,直到 23:59:59
for (int hour = 0; hour < 24; hour++) {
for (int minute = 0; minute < 60; minute += 10) {
int second = random.nextInt(60);
String time = String.format("%02d:%02d:%02d", hour, minute, second);
double longitude = MIN_LONGITUDE + (MAX_LONGITUDE - MIN_LONGITUDE) * random.nextDouble();
double latitude = MIN_LATITUDE + (MAX_LATITUDE - MIN_LATITUDE) * random.nextDouble();
String location = String.format("%.6f,%.6f", longitude, latitude);
String position = String.format("{\"date\":\"%s\",\"location\":\"%s\",\"pos\":\"中国浙江省嘉兴市\"}", time, location);
positions.add(position);
}
}
// 输出所有的坐标点
System.out.println("[");
for (int i = 0; i < positions.size(); i++) {
System.out.print(positions.get(i));
if (i < positions.size() - 1) {
System.out.println(",");
} else {
System.out.println();
}
}
System.out.println("]");
}
}
```
这个程序会随机生成从早上 00:00:00 开始,每隔 10 分钟一个位于嘉兴市内的坐标点,到晚上 23:59:59 结束,并将它们以 JSON 数组的形式输出。其中,坐标点的位置信息是在嘉兴市内随机生成的,经度和纬度均匀分布在预设的范围内。
阅读全文