重复程序帮助?

时间:2011-02-13 06:30:02

标签: java loops

好的,我的计划又陷入了另一个僵局。我需要重复一遍,但我不明白我在文中读到的是如何做到这一点。它只涵盖重复值,如成绩册计划。无论如何,我需要程序继续重复,直到用户输入“停止”作为员工姓名。这是我的代码到目前为止:

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);        


        }

}

5 个答案:

答案 0 :(得分:2)

您需要添加while循环或for循环,如:

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

答案 1 :(得分:1)

你可以简单地包括:

而(真) {

}

围绕您的代码,并为每个输入说。

if(“stop”.equals(input))   打破;

答案 2 :(得分:1)

 while (true) {...}

答案 3 :(得分:0)

破解的想法会很好,但另一种方法是将整个事物包裹在

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

以及在类似if语句中输入名称后的所有内容

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

这样它就不会执行了。打破循环可能更容易,但我知道有些人不赞成使用break语句。

答案 4 :(得分:0)

你应该有以下的声明

hasNextLine()方法检查是否需要从标准输入读取行。

while ( input.hasNextLine() )
{

     // your code goes here
}