I have coded a way to get weather details from a WSDL webservice. My code works properly without any errors, but is there any way to use a For loop/while to get the three City and ZipCodes from the user?
The program should prompt for same information on the second, third and more cities by using, “for/while loop.”
How can I do this?
Here is the WSDL file:
`http://wsf.cdyne.com/WeatherWS/Weather.asmx?WSDL
Here is my code:
package weather;
import com.cdyne.ws.weatherws.ArrayOfWeatherDescription;
import com.cdyne.ws.weatherws.WeatherReturn;
import java.util.Scanner;
/**
*
* @author elacy
*/
public class Weather {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
try {
String zipCode1;
String zipCode2;
String zipCode3;
Scanner keyboard = new Scanner(System.in);
String City1;
String City2;
String City3;
com.cdyne.ws.weatherws.Weather service = new com.cdyne.ws.weatherws.Weather();
com.cdyne.ws.weatherws.WeatherSoap port = service.getWeatherSoap();
\\makes this part a For loop
System.out.println ("Please enter your First city");
City1 = keyboard.nextLine().toUpperCase();
System.out.println ("Please enter your First zipcode");
zipCode1 = keyboard.nextLine();
System.out.println ("Please enter your Second city");
City2 = keyboard.nextLine().toUpperCase();
System.out.println ("Please enter your Second zipcode");
zipCode2 = keyboard.nextLine();
System.out.println ("Please enter your Third city");
City3 = keyboard.nextLine().toUpperCase();
System.out.println ("Please enter your Third zipcode");
zipCode3 = keyboard.nextLine();
System.out.println("------------------------------------------------------");
System.out.println("EVAN'S WEATHER FORECAST FOR: SUNDAY, OCTOBER 07, 2013");
System.out.println("------------------------------------------------------");
System.out.println("City Zip Code Temp Relative Humidity");
System.out.println(City1 +" "+ zipCode1 +
port.getCityWeatherByZIP(zipCode1).getTemperature() +
port.getCityWeatherByZIP(zipCode1).getRelativeHumidity());
System.out.println(City2 +" "+ zipCode2 +
port.getCityWeatherByZIP(zipCode2).getTemperature() +
port.getCityWeatherByZIP(zipCode2).getRelativeHumidity());
System.out.println(City3 +" "+ zipCode1 +
port.getCityWeatherByZIP(zipCode3).getTemperature() +
port.getCityWeatherByZIP(zipCode3).getRelativeHumidity());
} catch (Exception ex) {
}
}
private static WeatherReturn getCityWeatherByZIP(java.lang.String zip) {
com.cdyne.ws.weatherws.Weather service = new com.cdyne.ws.weatherws.Weather();
com.cdyne.ws.weatherws.WeatherSoap port = service.getWeatherSoap();
return port.getCityWeatherByZIP(zip);
}
}
Pretty straightforward:
String[] cities = new String[3];
String[] zipCodes = new String[3];
for (int i = 0; i < 3; i++) {
System.out.println ("Please enter your City No." + (i + 1) + ":");
cities[i] = keyboard.nextLine().toUpperCase();
System.out.println ("Please enter your Zipcode No." + (i + 1) + ":");
zipCodes[i] = keyboard.nextLine();
}
System.out.println("------------------------------------------------------");
System.out.println("EVAN'S WEATHER FORECAST FOR: SUNDAY, OCTOBER 07, 2013");
System.out.println("------------------------------------------------------");
System.out.println("City Zip Code Temp Relative Humidity");
for (int i = 0; i < 3; i++) {
System.out.println(cities[i] +" " + zipCodes[i] +
port.getCityWeatherByZIP(zipCodes[i]).getTemperature() +
port.getCityWeatherByZIP(zipCodes[i]).getRelativeHumidity());
}
Collected from the Internet
Please contact [email protected] to delete if infringement.
Comments