分为两大步:
首先打开idea,创建java项目,新建一个java包,添加一个目录,把教程中的两个文件粘贴进去,然后new一个java类,敲入代码。
第二步:打开阿里云用户端,找到云市场,API市场选择天气预报查询,
生产订单然后复制AppCode(api应用程序接口)运行代码就OK了。
代码实现如下:
package com.imooc.weather;
import com.imooc.weather.impl.WeatherUtilsImpl;
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.print("请输入您的选择:");
Scanner scanner = new Scanner(System.in);
int i = scanner.nextInt();
System.out.println("用户输入数字:" + i);
if (i==1){
System.out.print("请输入城市名称查询未来24小时天气预报:");
String city = scanner.next();
WeatherUtils weatherUtils = new WeatherUtilsImpl();
List<HourWeather> weatherList = weatherUtils.w24h("02916050eb5d401d933165dd76c71ca1",city);//API输入自己的api应用程序编程接口,这里就不提供了!
System.out.println(weatherList);
if (weatherList.size() == 0){
System.out.println("抱歉,未收录您查询的城市天气数据。");
}else{
for (HourWeather hourWeather : weatherList){
String template = "%s月%s日%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);
}
}
} else if (i==2){
System.out.print("请输入城市名称查询未来3天天气预报:");
String city = scanner.next();
WeatherUtils weatherUtils = new WeatherUtilsImpl();
List<DayWeather> weatherList = weatherUtils.w3d("02916050eb5d401d933165dd76c71ca1", city);//API输入自己的api应用程序编程接口
System.out.println(weatherList.size());
if (weatherList.size() == 0) {
System.out.println("抱歉,未收录您查询的城市天气数据。");
}else{
for (DayWeather weather : weatherList){
String template = "%-2s月%-2s日 | 气温: %s℃(日) %s℃(夜) | 天气: %s(日) %s(夜) | 风力: %s(日) %s(夜)";
String row = String.format(template,new String[]{
weather.getMonth(),
weather.getDay(),
weather.getDayAirTemperature(),
weather.getNightAirTemperature(),
weather.getDayWeather(),
weather.getNightWeather(),
weather.getDayWindPower(),
weather.getNightWindPower()
});
System.out.println(row);
}
}
}
else if (i==3) {
System.out.print("请输入城市名称查询未来7天天气预报:");
String city = scanner.next();
WeatherUtils weatherUtils = new WeatherUtilsImpl();
List<DayWeather> weatherList = weatherUtils.w7d("02916050eb5d401d933165dd76c71ca1", city);//API输入自己的api应用程序编程接口
System.out.println(weatherList.size());
if (weatherList.size() == 0) {
System.out.println("抱歉,未收录您查询的城市天气数据。");
} else {
for (DayWeather weather : weatherList) {
String template = "%-2s月%-2s日 | 气温: %s℃(日) %s℃(夜) | 天气: %s(日) %s(夜) | 风力: %s(日) %s(夜)";
String row = String.format(template, new String[]{
weather.getMonth(),
weather.getDay(),
weather.getDayAirTemperature(),
weather.getNightAirTemperature(),
weather.getDayWeather(),
weather.getNightWeather(),
weather.getDayWindPower(),
weather.getNightWindPower()
});
System.out.println(row);
}
}
}
}}
运行结果如下: