2017-03-05 10 views
0
package task; 
import java.util.*; 

public class Task { 
    public static void main(String[] args) { 
     System.out.println("Enter \"t\" to terminate."); 
     for(;;){ 
      Scanner input = new Scanner(System.in); 
      int i; 
      double I = Double.POSITIVE_INFINITY; 
      for(i = 0; i <= I; i++){ 
       System.out.println("Integer " + i); 
       String a = input.next(); 
       if(a.equals("c")){ 
        break; 
       } 
      } 
     } 
    } 
} 

forループを終了するために "t"を入力するように促すのに問題があります。私は基本的に、forループがすべての正の整数を出力するようにしたい。そして、私が終了することを決定するとき、私は "t"を入力する。forループを壊すようにユーザーに促す方法は?

私はいくつかの助けを得ることができたら、私はそれを感謝します。ありがとう!

+2

"t"または "c"?あなたは現在、 'c'だけをテストしているからです。また、ネストされたループもあります。外側のループを壊したい場合は、ラベルを付ける必要があります。 –

+0

外部ループが反復するたびに、新しいScannerが作成されます。それをしないでください。ループの前にスキャナを1つ作成し、後でループの内側で再利用します。 – Pshemo

+0

また、いくつかのコンベンションスタッフ: 'for(;;)'の代わりに 'while(true)'を使い、 'i <= I'なのでとにかく常に' I'を落として 'for(int i = 0; i ++) ' –

答えて

0

あなたは、単に代わりに+

ドゥを破るためにしばらくの間、行うを使用できます。入力が整数である場合は、テストされていない

System.out.println("Enter \"t\" to terminate."); 
    Scanner input = new Scanner(System.in); 
    String pressed; 
    int i = 0; 
    while (true) { 
     i=0; 
     do { 
      System.out.println("Integer " + i); 
      pressed = input.next(); 
      i++; 
     } while (!pressed.equals("t")); 
    } 

注意。

関連する問題