gpt4 book ai didi

java - while 循环永远不会结束

转载 作者:行者123 更新时间:2023-11-29 04:34:48 25 4
gpt4 key购买 nike

<分区>

我在这个小程序中有两个类。该程序的第一部分工作正常。

public class PayCheck
{
private double hourlyRate, hoursWorked, grossPay, netPay;
final double federalTaxAmount = 0.15;
final double stateTaxAmount = 0.09;
final double FICAAmount = 0.07;
private String lastName, firstName;

public PayCheck()
{
hourlyRate = hoursWorked = grossPay = netPay = 0;
lastName = firstName = "unknown";
}

public PayCheck(double inRate, double inHours, String inLast, String inFirst)
{
hourlyRate = inRate;
hoursWorked = inHours;
lastName = inLast;
firstName = inFirst;
}

public String setLastName()
{
return lastName;
}

public String setFirstName()
{
return firstName;
}

public double setHourlyRate()
{
if (hourlyRate > 5)
{
if (hourlyRate < 100)
{
hourlyRate = hourlyRate;
}
}
else
{
hourlyRate = 0;
}

return hourlyRate;
}

public double setHoursWorked()
{
if (hoursWorked < 0)
if (hoursWorked > 100)
{
hoursWorked = hoursWorked;
}
else
{
hoursWorked = 0;
}

return hoursWorked;
}

public double getGross()
{
grossPay = hoursWorked * hourlyRate;
return grossPay;
}

public double getNet()
{
netPay = grossPay - (grossPay * federalTaxAmount) - (grossPay * stateTaxAmount) - (grossPay * FICAAmount);
return netPay;
}

public String toString()
{
return "Last Name: " + lastName + "\nFirst Name: " + firstName + "\nGross Pay: "
+ this.getGross() + "\nNet Pay: " + this.getNet() + "\nFederal Tax Amount: "
+ (grossPay * federalTaxAmount) + "\nState Tax Amount: " + (grossPay * stateTaxAmount)
+ "\nFICA Amount: " + (grossPay * FICAAmount);
}
}

然后引用上面代码的另一部分必须处于循环中,并且即使输入是终止循环的正确输入,该循环也永远不会结束。

import java.util.Scanner;
public class Driver
{
public static void main(String[] args)
{
Scanner key = new Scanner(System.in);
String lastName, firstName, choice;
double hours, rate;
boolean again = true;
PayCheck emp1;

while(true)
{
System.out.print("Please enter the Last Name: ");
lastName = key.next();

System.out.print("Please enter the First Name: ");
firstName = key.next();

System.out.print("Please enter the number of hours: ");
hours = key.nextDouble();

System.out.print("Please enter the pay rate per hour: ");
rate = key.nextDouble();

emp1 = new PayCheck(rate, hours, lastName, firstName);

System.out.println(emp1.toString());

System.out.print("Do you want to another entry (Y/N)? ");
choice = key.next();

if (choice.toLowerCase() == "n")
{
break;
}
}
}
}

有没有更好的方法来终止循环,因为这个循环根本就没有终止。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com