2011-02-13 4 views
1

좋아, 그래서 나는 내 프로그램에 또 다른 난관에 처해있다. 나는 그것을 반복 할 필요가있다. 그러나 나는 그것을하는 방법에 대한 본문을 읽고있는 것을 이해하지 못한다. 성적표 프로그램과 같은 반복되는 값만 다루고 있습니다. 어쨌든, 사용자가 직원 이름으로 "중지"를 입력 할 때까지 반복 프로그램을 필요로합니다.이 코드는 지금까지 제 코드입니다 :반복되는 프로그램 도움말?

package payroll_program_2; 가져 오기 java.util.Scanner;

public class payroll_program_2 { 
     public static void main(String[] args) { 

     Scanner input = new Scanner(System.in); 
     float hours;           
     float rate;            
     String name; 
     float total_pay; 


    System.out.println("Please enter employee name");  
     name = input.nextLine(); 
      if("stop".equals(name)) 
      { return; 
      } 

    System.out.println("Please enter hourly rate");    
     rate = input.nextFloat();        
     if (rate <0)            
      {              
       System.out.println("Pay rate cannot be negative"); 
       System.out.println("Please enter hourly rate"); 
       rate = input.nextFloat(); 
      } 
    System.out.println("Please enter hours worked");    
     hours = input.nextFloat();        
     if (hours <0) 
      { 
       System.out.println("Hours cannot be negative"); 
       System.out.println("Please enter hours worked"); 
       hours = input.nextFloat(); 
      } 
    System.out.println("Employee's total pay for this week"); 
     total_pay = hours*rate;         

    System.out.printf("The total pay for %s is $%.2f\n", name, total_pay);   


     } 

}

답변

1
while (true) {...}
+0

이것은 그것이었습니다. 너무 단순하지만 아직 책에서 얻지 못했습니다. 고마워요. :) – g3n3rallyl0st

1

당신은 단순히 포함 할 수있다 :

동안 (사실) {

} 코드 주위

, 각 입력은 말한다.

if ("stop". equals (input)) 중단;

+0

메신저 do - while 루프를 시도했지만 나는 똑똑한 사람들이 나보다 더 많이 들려주기를 원했다. 나는 새로운 브랜드와 아무것도 모릅니다. 책에서 이것을 배우는 것은 정말로 어렵습니다. – g3n3rallyl0st

2

당신은에서와 같이 while 루프 또는 for 루프를 추가해야합니다

while (true) { 
    // .. read some input ... 
    if (/* input is "stop" */) { 
     break; // this causes the loop to exit 
    } 
} 
0

브레이크 아이디어가 잘 작동하지만 또 다른 방법은 그것에서 전체 일을 마무리하는 것입니다 할 비슷한의 이름을 입력 한 후

while(! name.equals("stop")){...}

및 모든 if 문

(if(! name.equals("stop"))){...} 

그래서 실행되지 않습니다. 루프를 깨는 것은 모든 곳에서 더 쉬울 수 있지만 break 문장을 사용하여 싫어하는 사람들이 있습니다.

0

당신은 문

hasNextLine() 방법 검사는 더 이상 라인은 표준 입력에서 읽을 필요가있는 동안 다음이 있어야합니다.

while (input.hasNextLine()) 
{ 

    // your code goes here 
}