目录
1-1 开通阿里云市场天气预报服务
1-2 实现24小时预报查询功能
import java.util.Scanner;
public class Application {//创建类名
public static void main(String[] args) {//主方法
System.out.println("查询最近的天气预报: ");//输出信息
System.out.println("输入1: 查询未来24小时天气预报:");//输出信息
System.out.println("输入2: 查询未来3天天气预报");//输出信息
System.out.println("输入3: 查询未来7天天气预报");//输出信息
System.out.println("请输入您的选择");//输出信息
Scanner scanner = new Scanner(System.in);
int i = scanner.nextInt();
System.out.println("用户输入数字: "+1);//输出信息
}
}
package com.imooc.weather;
import java.util.List;
import java.util.Scanner;
public class Application {//创建类名
public static void main(String[] args) {//主方法
System.out.println("查询最近的天气预报: ");//输出信息
System.out.println("输入1: 查询未来24小时天气预报:");//输出信息
System.out.println("输入2: 查询未来3天天气预报");//输出信息
System.out.println("输入3: 查询未来7天天气预报");//输出信息
System.out.println("请输入您的选择");//输出信息
Scanner scanner = new Scanner(System.in);
int i = scanner.nextInt();
System.out.println("用户输入数字: "+1);//输出信息
if(i==1) {
System.out.print("请输入城市名称查询24小时天气预报: ");//输出信息
String city = scanner.next();String city1 = scanner.next();
WeatherUtils weatherUtils = new WeatherUtils();
List<HourWeather> weatherList = weatherUtils.w24h("50a126968c294b31917b30c417eaea1d",city1);
System.out.println(weatherList); //输出信息
}
}
}
1-3 格式化输出天气预报结果
利用字符串格式化替代拼接字符串
String result = a + " - " + b + " -" + c ;
假设有三个字符串变量,现在我想将这三个字符串变量连接在一起,同时在每一个变量间增加一个“ - ”来代表连接到意思,那按照以前的算法需要增加系列的加号来完成拼接的操作
但是如果当我们拼接的过程十分复杂的时候拼接容易出错,且代码复杂,备选字符串格式化方案,如下:
String template = "%s -%s-%s" ; //先定义好字符串的模板(%是占位符代表允许出现一个字符串,后面也是如此)
String row = String.format (template, new String[ ] {a,b,c}) ;//然后利用字符串的方法将实际的数据带入到前面模板来完成最终结果的输出,(row变量保存最终结果)
代码如下:进一步了解,用代码来理解上述内容
package com.imooc.weather;
import java.util.List;
import java.util.Scanner;public class Application {//创建类名
public static void main(String[] args) {//主方法
System.out.println("查询最近的天气预报: ");//输出信息
System.out.println("输入1: 查询未来24小时天气预报:");//输出信息
System.out.println("输入2: 查询未来3天天气预报");//输出信息
System.out.println("输入3: 查询未来7天天气预报");//输出信息
System.out.println("请输入您的选择");//输出信息
Scanner scanner = new Scanner(System.in);
int i = scanner.nextInt();
System.out.println("用户输入数字: "+1);//输出信息
if(i==1) {
System.out.print("请输入城市名称查询24小时天气预报: ");//输出信息
String city = scanner.next();String city1 = scanner.next();
WeatherUtils weatherUtils = new WeatherUtils();
List<HourWeather> weatherList = weatherUtils.w24h("50a126968c294b31917b30c417eaea1d",city1);
System.out.println(weatherList); //输出信息
if(weatherList.size() == 0) {//size获取当前列表的数量总数,如果等于0则代表服务器没有查到对应城市的天气,所以要打印输出
System.out.println("抱歉,未收录您查询的城市天气数据。");
} else {
for(HourWeather hourWeather : weatherList) {
String template = "%月%s日%时|%-3s|%-20s|%-8s|%-4s℃";
String row = String.format(template,new String[] {
hourWeather.getMonth(),
hourWeather.getDay(),
hourWeather.getHour(),
hourWeather.getWindDirection(),
hourWeather.getWindPower(),
hourWeather.getWeather(),
hourWeather.getTemperature()
});
System.out.println(row);
}
}
}
1-4 实现未来3天天气预报查询功能
1-5 实现未来7天天气预报查询功能