Я использую Eclipse в домашнем задании, и я действительно борюсь. Цель состоит в том, чтобы написать программу расчета заработной платы, в которой пользователь вводит свое имя, отработанные часы, уровень оплаты, федеральный и государственный налог, а затем выводит расчетную информацию об их суммах, а также их чистую зарплату.Операция Java printf, дающая ошибки
Я использовал то, что было знаком с println
инструкциями, чтобы показать результат, но учитель хочет, чтобы мы использовали функцию System.out.printf
, и я не могу заставить ее работать вообще. Если я использую операторы println
, все значения заполняются, но по какой-то причине я не могу получить printf
, чтобы сделать то же самое. Что мне не хватает? Если я использую функцию printf
он дает мне ошибку
"Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The method printf(Locale, String, Object[]) in the type PrintStream is not applicable for the arguments (String, String, String)
at Payrolls.main(Payrolls.java:31)"
Вот мой код:
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