2017-01-06 3 views
0

저는 아직 Java에 익숙하지 않습니다. 그리고 나는 Bluej에서 수업 중입니다. 내 수업은 배울 작은 재미있는 프로그램을하고있다, 나는 궁금해 ... 어떻게 프로그램을 스크립트 (또는 다시 시작) 자체를 통해 갈 수 있습니까? 죄송합니다. 많은 것을 얻었지만 한 시간 이상 성공을 찾지 못했습니다. 나는 아직도뿐만 아니라 롤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

"프로그램을 스크립트 (또는 다시 시작)로 만들려면 어떻게해야합니까?"라는 의미의 exaclty는 무엇을 의미합니까? 당신은 당신의 프로그래머를 어떻게 운영하는지 전혀 모르십니까? 끝내지 않고 끊임없이 반복 되길 원하십니까? –

답변

0

여기에 나온 아이디어는 달리 말하지 않을 때까지 반복해서 설명합니다. 이미 for 루프에서이 아이디어에 노출되어 있습니다. while 루프는 알고 있어야 할 또 다른 종류의 루프입니다. while 루프과 같이 뭔가를 정의한다 : 당신이 그것을 강제로 때까지

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

그것은 break;를 통해 중지 또 다시 그 안에 모든 코드를 실행하거나 조건이 false입니다 (부울을 변경, 숫자 간다 0 이하, 당신은 당신의 조건을 무엇으로 만드는지). while 루프의 고급 형식은 do while 루프입니다.

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

여기에서 차이가 do while 항상 한 번 실행하는 것입니다, • 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

, 일부 Java 코드를 반복합니다 while 루프로 묶하십시오. 당신이 오직 입력을위한 하나의 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 
     } 
    } 
}