(4-3)某城市天气情况如下,使用Java程序按温度从高到低输出天气信息。要求如下: 使用3个一维数组存储日期、温度和湿度信息; 使用2个二维数组存储日期、温度和湿度信息。
时间: 2024-09-19 15:18:13 浏览: 32
SM2、SM3、SM4国密算法Java实现(含详细测试代码)
5星 · 资源好评率100%
在Java中,你可以使用一维数组或二维数组来存储天气数据,并通过遍历数组对温度进行排序。这里我们分别给出两个方案。
**方案一:使用一维数组**
```java
// 定义一个结构体或者名为Weather的类
class Weather {
String date;
int temperature;
int humidity;
}
// 创建一维数组并初始化数据
Weather[] weatherData = new Weather[3];
weatherData[0] = new Weather{"date1", 35, 60};
weatherData[1] = new Weather{"date2", 28, 70};
weatherData[2] = new Weather{"date3", 32, 55};
// 对温度进行排序(这里假设Arrays类已导入)
Arrays.sort(weatherData, Comparator.comparingInt(Weather::getTemperature).reversed());
// 按照降序打印天气信息
for (Weather w : weatherData) {
System.out.println("日期:" + w.date + " 温度:" + w.temperature + " 湿度:" + w.humidity);
}
```
**方案二:使用二维数组**
```java
// 定义二维数组,每个元素包含日期、温度和湿度
int[][] weatherInfo = {
{1, 35, 60}, // 第一天
{2, 28, 70}, // 第二天
{3, 32, 55} // 第三天
};
// 使用嵌套循环遍历二维数组
for (int i = weatherInfo.length - 1; i >= 0; i--) { // 从高到低
System.out.println("日期:" + weatherInfo[i][0] + " 温度:" + weatherInfo[i][1] + " 湿度:" + weatherInfo[i][2]);
}
```
**相关问题--:**
1. 为什么要使用两种不同的存储方式?
2. 这两种方法在性能上有什么差异?
3. 如果需要添加更多的天气数据,哪种方式更方便扩展?
阅读全文