2016-04-17 9 views
0

複数の異なるユーザー入力キーワードを待つために何ができるか知りたいのですが、私のプログラムの他の部分を実行できるようにしたいのですが、しかし、スキャナには、複数の引数が必要なときに、プログラムが終了するまで、引き続き1つの引数が呼び出され、入力の検索が停止するまで、引き続き耳を傾けることができます。これは私が現時点で作業しているコードです:プログラムがハングしないようにユーザー入力を待つ方法

new Thread(() -> { 
     String in = scan.nextLine().toLowerCase(); 
     switch(in) { 
      case "kill": 
       System.exit(0); 
       break; 
      case "quote": 
       HttpGet req = new HttpGet(BASE_URL + "venues/" + venue + "/stocks" + stock + "/quote"); 
       req.setHeader(new BasicHeader("X-Starfighter-Authorization", AUTH_KEY)); 
       try { 
        HttpResponse res = getClient().execute(req); 
        String JSONRes = CharStreams.toString(new InputStreamReader(res.getEntity().getContent())); 
        if(res.getStatusLine().getStatusCode()!=200) { 
         System.out.println(res.getStatusLine().getStatusCode()); 
        }else { 
         System.out.println("OK"); 
        } 
        System.out.println(JSONRes); 
       } catch (IOException e) { 
        e.printStackTrace(); 
       } 
       break; 
     } 
    }).start(); 

私の問題のお手伝いをしてくれてありがとう!

+0

ループを意味しますか?スレッドコードを 'while(true)'ループに入れてください。 – 11thdimension

+0

ええ、それはまさに私が望んでいたものです。申し訳ありませんが、今は真夜中ですので、私は半分眠っています。ありがとう! – Redrield

+0

あなたは大歓迎です。 – 11thdimension

答えて

0

@ 11thdensionと同様にwhile(true)ループを使用してください。これは最善の解決策ではないかもしれませんが、それはビジー・ウェイト・ループですが、意図した通りに動作するはずです。

関連する問題