2011-02-13 57 views
1

好,所以我在另一個僵局與我的程序。我需要重複它,但我不明白我正在閱讀的文字中如何去做。它只涵蓋重複的價值,如成績簿計劃。無論如何,我需要程序繼續重複,直到用戶輸入「stop」作爲員工姓名。這是我的代碼到目前爲止:重複程序幫助?

package payroll_program_2; import 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 2011-02-13 07:07:14

1

你可以簡單地包括:

,而(真){

}

在你的代碼,併爲每個輸入說。

if(「stop」.equals(input)) break;

+0

即時嘗試做 - while循環,但我想從智慧人士的一些輸入比我大聲笑。即時通訊品牌新和不知情。它真的很難從書中學到這一點...... – g3n3rallyl0st 2011-02-13 06:41:04

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

你應該有while語句

hasNextLine()方法檢查了線需要從標準輸入讀取以下。

while (input.hasNextLine()) 
{ 

    // your code goes here 
}