私は宿題でEclipseを使用しています。私は本当に苦労しています。目標は、ユーザが自分の名前、勤務時間、賃金率、源泉徴収された連邦および州の税金を入力した給与計算プログラムを作成し、計算された控除額と納付額を出力します。Javaのprintfステートメントでエラーが発生する
出力を示すのにprintln
ステートメントが使用されていましたが、先生はSystem.out.printf
関数を使用することを望んでいて、まったく動作しません。 println
ステートメントを使用すると、すべての値が入力されますが、何らかの理由でprintf
に同じ処理を実行できません。私は何が欠けていますか?
import java.util.Scanner;
public class Payrolls
{
public static void main(String []args)
{
Scanner input = new Scanner(System.in);
System.out.print("Enter employee first name: ");
String employeeFirst = input.nextLine();
System.out.print("Enter employee last name: ");
String employeeLast = input.nextLine();
System.out.print("Enter number of hours worked this week: ");
int hoursWorked = input.nextInt();
System.out.print("Enter hourly pay rate of the employee: ");
double payRate = input.nextDouble();
System.out.print("Enter federal tax withholding rate: ");
double fedTax = input.nextDouble();
System.out.print("Enter state tax withholding rate: ");
double stateTax = input.nextDouble();
System.out.println(" ");
System.out.println(" ");
//System.out.printf("%-20s %s\n", employeeFirst, employeeLast);
System.out.println("Name: " + employeeFirst +" " +employeeLast);
System.out.println("Hours Worked:" + hoursWorked);
System.out.println("Pay Rate:" + payRate);
double grossPay;
grossPay = payRate * hoursWorked;
System.out.println("Gross Pay:" + grossPay);
double deductions;
deductions = grossPay * fedTax;
System.out.println("\tDeductions:");
System.out.println("\t\tFederal Witholding %: $" + deductions);
double statTax;
statTax = grossPay * stateTax;
System.out.println("\t\tState Witholding %: $" + statTax);
double totalDeduction;
totalDeduction = deductions + statTax;
System.out.println("\t\tTotal Deduction: $" + totalDeduction);
double netPay;
netPay = grossPay - totalDeduction;
System.out.println("Net Pay:" + netPay);
}
}
私にとってはうまく動作します(JDK8、IntelliJ、F24)。どのJDKやIDEを使用していますか? – Mureinik
どのバージョンのjavaをお使いですか? –
[こちら](http://stackoverflow.com/questions/14008466/how-to-use-system-out-printf)をご覧ください。 – Karthik