Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 添加数字格式选项_Java - Fatal编程技术网

Java 添加数字格式选项

Java 添加数字格式选项,java,Java,我试图在这个基本程序中为int变量添加整数逗号($40000 vs$40000) 我目前正在system.out.println()中使用它们 有没有办法更早或更顺利地实施它 import java.text.NumberFormat; import java.util.Locale; public class Employee { private String name; private int salary; private int bonus; public Employee(Str

我试图在这个基本程序中为
int
变量添加整数逗号($40000 vs$40000)

我目前正在
system.out.println()中使用它们

有没有办法更早或更顺利地实施它

import java.text.NumberFormat;
import java.util.Locale;

public class Employee {

private String name;
private int salary;
private int bonus;

public Employee(String theirName, int theirSalary, int plusBonus) {
    name = theirName;
    salary = theirSalary;
    bonus = plusBonus;
}

public String gettheirname() {
    return name;}

public int gettheirSalary() {
    return salary;}

public int getplusBonus() {
    return bonus;}


public static void main(String[] args) {
    Employee e1 = new Employee("Liberty Zapata", 40000, 500);
    System.out.println("ZIG Payroll");
    System.out.println("\t-----------\t Employee \t-----------\t");
    System.out.println("Employee name:" + e1.gettheirname());
    System.out.println( "Salary before bonus: $" + NumberFormat.getNumberInstance(Locale.US).format((e1.gettheirSalary())));
    System.out.println("Bonus: $" +e1.getplusBonus());
    System.out.println("Salary plus bonus: $" + NumberFormat.getNumberInstance(Locale.US).format((e1.getplusBonus()+ e1.gettheirSalary()))) ;
}


}

当然,您可以向class
Employee
a
toString
表示添加并使用它,例如:

@Override
public String toString() {
    return
            "Employee name:" + name + "\n" +
            "Salary before bonus: $" + NumberFormat.getNumberInstance(Locale.US).format(salary) + "\n" +
            "Bonus: $" + bonus + "\n" +
            "Salary plus bonus: $" + NumberFormat.getNumberInstance(Locale.US).format(bonus + salary);
}
用法:

public static void main(String[] args) {
    Employee e1 = new Employee("Liberty Zapata", 40000, 500);
    System.out.println("ZIG Payroll");
    System.out.println("\t-----------\t Employee \t-----------\t");
    System.out.println(e1) ; // <--- here, now it's simple!
}

谢谢你的帮助!@Override在这里是如何工作的?@HMartinez
@Override
注释简单地指示构造函数此方法正在重写父类中的方法(
在本例中为Object
)。它的目的是防止您不正当地使用此注释(例如,父方法具有不同的签名),编译器将失败并提供明确的错误消息。
ZIG Payroll
    -----------  Employee   ----------- 
Employee name:Liberty Zapata
Salary before bonus: $40,000
Bonus: $500
Salary plus bonus: $40,500