2017-01-06 1 views
0

私はまだJavaで新しく、クラスのためにBluejで学んでいます。私のクラスは、学習するための小さな楽しいプログラムをやっている、私は疑問に思って...どのようにプログラムをスクリプト(または再起動)を通過させることができますか?申し訳ありませんが、これは多くを得るが、私は成功のための答えのために1時間以上探しています。Bluej/Javaループ?

import java.util.Scanner; 
public class TriangleFirst 
{ 

    public static void main (String [] args) { 
      System.out.println ("\f"); 
      Scanner SC = new Scanner(System.in); 
      int numbstars; 


      System.out.println ("How large would you like your (sideways) pyramid to be? (insert a number)"); 
      numbstars = SC.nextInt(); 
     for (int i=1; i<= numbstars; i++) { 
       for (int j=0; j < i; j++) { 
        System.out.print ("*"); 
       } 
       //generate a new line 
       System.out.println (""); 
      } 

     for (int i= numbstars-1; i>=0; i--) { 
       for (int j=0; j < i; j++) { 
        System.out.print ("*"); 

       } 
       //generate a new line 
       System.out.println (""); 
      } 
    } 
} 
+4

Java!= JavaScript – Keiwan

+0

「どのようにしてプログラムをスクリプト(または再起動)にすることができますか?」とはどういう意味ですか?あなたはあなたのプログラムをまったく実行する方法を知らないのですか?あなたはそれを終了せずに無限にループしたいですか? –

答えて

0

ここでのアイデアは、別のことが言われるまで何度も何度もやり直すことです。あなたはすでにforループでこのアイデアを公開しています。 whileループは、もう一つの種類のループです。 whileループはそうのようなものに定義されています。

while(condition is true) { 
    // do something 
} 

をあなたはbreak;または状態を経由して停止することを強制されるまでには何度も何度もその中のすべてのコードを実行しますfalseです(ブール値を変え、数は行きます0以下、あなたはあなたの条件を作ることができます)。 whileループのより進んだ形式は、do whileループです。ここでの違いはdo whileは必ず1回実行されるということです

do { 
    // do something 
} while(condition is true); 

do whileは次のようになります。その後、再度実行するかどうかを決定する前に、条件を評価します。 whileループは決して実行できません!それはすべて条件に依存します。

ここでは、状況に応じてメソッド呼び出しを行うことができます。だから、:

do { 
    // stuff 
} while (askTheUser()); //askTheUser returns a Boolean. 

あるいは

do { 
    // stuff 
} while (getNumber() > n); 

(注、while同じように動作しません。)

をどんなに最終的な結果は、ブールどうあるべきか。あなたのスタープリントとスター数のユーザ入力は、別々のメソッドコールにすることができます(一般に、ロジックをメソッド呼び出しに分けてデバッグを簡単にするのは良い考えです)。だから... ...

while (askUserToPlayAgain()) { 
    int n = getInput(); 
    printStars(n); 

}

はあなたにそれを実装する方法の良いアイデアを与える必要があります。

0

whileループで囲み、いくつかのJavaコードを繰り返すために:私はまだここにコードがあります笑だけでなく、いくつかの他のプログラムのために

を、それを必要とします。あなただけの今までに入力するための単一のScannerを持っている必要がありますので

public class TriangleFirst { 
    Scanner input = new Scanner(System.in); 

    private boolean askAgain() { 
     System.out.println("Again?"); 
     return input.nextLine().toLowerCase().startsWith("y"); 
    } 
} 

SC変数を削除し、inputに置き換えます

do { 
    System.out.println("How large …"); 
    … 
} while (askAgain()); 

askAgainは次のようになります。別の方法です。

1

私はあなたの質問を理解しているとは確信していませんが、プログラムが終了に達したらプログラムを実行し続けたい場合は、whileループを挿入するだけです。

import java.util.Scanner; 
public class TriangleFirst { 

    public static void main (String [] args) { 
     while(true) { 
      //your code goes here 
     } 
    } 
}