2017-11-07 26 views
-2

私はこれが簡単な答えで簡単な質問かもしれないが、何らかの理由でそれが私を超えていることを理解します。私のクラスは今BlueJで働いており、私たちは四角で作成しているグラフ上に点をプロットしていますが、今は、ある条件(x = -1)が入力と同じくらい多く入力されるまで、次のプロンプトループを作成する必要があります。ユーザーはフィット感があります。複数入力のwhileループ

public void plotPoints(Scanner keyboard) 
{ 

      System.out.print("Enter an x and y coordinate: "); 


      //Read x from user 
      int x = keyboard.nextInt(); 

      //Read y from user 
      int y = keyboard.nextInt(); 

      //Plot the point 
      new Circle(x,y); 
} 

whileループを使用することをお勧めします。

+0

これはjavascriptではありません。 – Merigold

+0

ああ、ちょうど普通のJava? – Ronave4C

+0

はいこれはJavaであり、Javascriptではありません。 – Merigold

答えて

0

このコードは作業を行います。

public class PlotPoints { 
    public static void main(String[] args) { 
     Scanner sc = new Scanner(System.in); 
     PlotPoints pp = new PlotPoints(); 
     pp.plotPoints(sc); 
    } 
    public void plotPoints(Scanner keyboard) 
    { 
     int x=1; 
     while (x != -1) { 

      System.out.print("Enter an x and y coordinate: "); 


      //Read x from user 
      x = keyboard.nextInt(); 

      //Read y from user 
      int y = keyboard.nextInt(); 

      //Plot the point 
      new Circle(x, y); 
     } 
    } 
} 
+0

非常に興味深いです、私はこれを投稿する直前に非常によく似た何かを試しましたが、正しく実行されませんでした。私が間違っていたかどうかわからない、私はもはやそれのためのコードを持っていない。しかし、作業コードを思い出させていただきありがとうございます。 – Ronave4C

0

以下のようにしている間またはブレーク条件とループのために無限を使用することができます:上記のコードは、ユーザが入力したいな限り多くのパラメータを取得するためのロジックを提供します

public List<Circle> plotPoints(Scanner keyboard){ 

    List<Circle> arrList = new ArrayList<>(); 

    while(true){ // for(;;) { 

     System.out.println("Enter an x and y coordinate: "); 

     System.out.println("Enter value for x: (x=-1 to exit)"); 
     //Read x from user 
     int x = keyboard.nextInt(); 
     System.out.println("x =" + x); 

     if(x == -1){ 
      System.out.println("Good bye!"); 
      break; 
     } 

     //Read y from user 
     System.out.println("Enter value for y: "); 
     int y = keyboard.nextInt(); 
     System.out.println("y = " + y); 
     System.out.println("Plotting point (" + x + "," + y + ")"); 

     //Plot the point    
     arrList.add(new Circle(x,y)); 
    } 

    return arrList; 

} 

。メソッドは、プロットされた点の集合を返すと仮定しているので、配列リストarrListは、すべてのプロットされた点を集めるためにあります。最初はあなたがサークルを描こうとしていると思っていましたが、あなたが半径の値を得ていないので、これは不可能です。

関連する問題