2011-02-13 19 views
1

私は自分のプログラムに別の難点があります。私はそれを繰り返す必要がありますが、私はそれを行う方法のテキストで私が何を読んでいるのか理解していません。グレードブックプログラムのように、繰り返し値だけをカバーします。とにかく、ユーザーが従業員の名前として「停止」を入力するまで、繰り返し続けるプログラムが必要です。これまでの私のコードです:繰り返しプログラムのヘルプ?

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

1

あなたは単純に含めることができます

ながら、(真) {

}

をあなたのコードの周りに、各入力のために言います。

if( "stop" .equals(input)) break;

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

私はdo-whileループを試していますが、私は笑っているよりもスマートな人からの入力がほしいと思っていました。私は真新しく、何も知らない。本から学ぶことは本当に難しいです。 – g3n3rallyl0st

2

もし同様の声明

で名前入力後

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

、すべて

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

実行されないようにします。ループを壊すのはおそらく簡単ですが、ブレークステートメントを使用して悩んでいる人がいます。

0

ブレークアイデアが正常に動作しますが、それを行うための別の方法は、Aで全体の事をラップすることです:あなたがでて、whileループまたはforループを追加する必要が

0

あなたはもう行が標準入力から読まれる必要がある次の文しばらく

hasNextLine()メソッドチェックを持っている必要があります。

while (input.hasNextLine()) 
{ 

    // your code goes here 
}