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