在输入数字之前如何运行我的代码

时间:2014-12-04 11:07:22

标签: java loops if-statement for-loop while-loop

如果这是一个愚蠢的问题,我很抱歉,但我对编码很新,所以对于我的任务,我得到了这段代码:

package webservice;
import webservice.Weather;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
      Scanner scan = new Scanner (System.in);
      System.out.print ("Enter the zip code : ");
      java.lang.String zipCode = scan.nextLine();
      try{  
           webservice.Weather service = new webservice.Weather();
           webservice.WeatherSoap port = service.getWeatherSoap();
           webservice.WeatherReturn result = port.getCityWeatherByZIP(zipCode);
           System.out.print(result.getCity()+ " ");
           System.out.println (result.getState());
           System.out.println("Zip code " + zipCode);
           System.out.println ("Current Temperature is " + result.getTemperature());
        }
      catch (Exception ex){
        System.out.println("Error");
        }
    }//end main
}//end class

代码运行完全正常,但我必须循环,直到我为邮政编码输入“0”。 我对编码很新,我试图回顾我之前的作品,试图结合一个循环,但我从未成功过。在用户输入“0”作为邮政编码之前,哪个循环最有效的代码循环?

3 个答案:

答案 0 :(得分:1)

while循环怎么样?

String zipCode;
while(!"0".equals(zipCode = scan.nextLine())) {
   //to do rest
}

示例代码:

import java.util.Scanner;

class Ideone
{
    public static void main (String[] args)
    {
        Scanner sc = new Scanner(System.in);
        String zipCode;
        while(!"0".equals(zipCode = sc.nextLine())) {
            System.out.printf("zip code: %s\n", zipCode);
        }
        System.out.printf("last zip code: %s\n", zipCode);
    }
}

I / P:

123
456
789
0

O / P:

zip code: 123
zip code: 456
zip code: 789
last zip code: 0

答案 1 :(得分:1)

试试这个:

Scanner scan = new Scanner (System.in);
int zipCode;
while(scan.nextInt()!=0){
 System.out.print ("Enter the zip code : ");
 zipCode = scan.nextInt();
}

使用while循环验证您的情况并使用.nextInt() 从扫描仪获取int

还有一个错字:

如果您使用:

import webservice.Weather;

您不必这样做:

webservice.Weather service = new webservice.Weather();

这很简单:

Weather service = new Weather();

请查看 Using Package Members 以获取更多信息。

答案 2 :(得分:0)

while循环可以解决问题。

这是因为while循环首先检查条件,然后如果发现条件为真则迭代。在您的情况下,我们需要检查用户是否输入了正确的值。如果他输入0,我们不需要继续进行。