当前位置: 首页 > 知识库问答 >
问题:

在java中获取值表单“get and set”

鲁炳
2023-03-14

使用以下字段设计薪资类:

•name:包含员工姓名的字符串•idNumber:表示员工ID号的int值•rate:包含员工时薪率的double值•hours:表示该员工工作时数的int值

类还应具有以下方法:

         import java.util.Scanner;

     public class Payroll
     {
        private String EmployeeName;
        private int IDnumber;
        private double HourlyPayRate;
        private double TotalHoursWorked;
        private double TotalGrossPay;

        public Payroll(String Name, int ID, double HourlyRate, double HoursWorked)
        {
            EmployeeName = Name;
            IDnumber = ID;
        }
        public String getEmployeeName()
        {
            return EmployeeName;
        }
        public int getIDnumber()
        {
            return IDnumber;
        }
        public void setHourlyPayRate(double HourlyRate)
        {
            HourlyPayRate = HourlyRate;
        }
        public double getHourlyPayRate()
        {
            return HourlyPayRate;
        }
        public void setTotalHoursWorked(double HoursWorked)
        {
            TotalHoursWorked = HoursWorked;
        }
        public double getTotalHoursWorked()
        {
            return TotalHoursWorked;
        }
        public void setTotalGrossPay(double GrossPay)
        {
            TotalGrossPay = GrossPay;
        }
        public double getTotalGrossPay(double HourlyRate, double HoursWorked)
        {
            TotalGrossPay = HourlyRate * HoursWorked;
           return TotalGrossPay;
        }


        public static void main(String[] args)
        {
            String EmployeeName;
            int IDnumber;
            double TotalHoursWorked;
            double HourlyPayRate;
            double TotalGrossPay;

           Scanner keyboard = new Scanner(System.in);

            System.out.print("Enter employee's name:");
            EmployeeName = keyboard.nextLine();

            System.out.print("Enter employee's ID number:" );
            IDnumber = keyboard.nextInt();

            System.out.print("Enter hourly rate:");
            HourlyPayRate = keyboard.nextDouble();

            System.out.print("Enter number of hours worked:");
            TotalHoursWorked = keyboard.nextDouble();

            Payroll pay = new Payroll(EmployeeName, IDnumber, HourlyPayRate, TotalHoursWorked);

            System.out.print(EmployeeName + ", " + "employee number " + IDnumber + ", made $" + 
           pay.TotalGrossPay + " in gross pay.");
       }
  }

谢谢你的帮助...

共有1个答案

董凡
2023-03-14

TotalGrosspay是一个计算值,除非调用方法来计算它,否则它将保持为默认值(0)

事实上,您不应该存储这个值,因为它的值实际上是由其他字段的计算决定的。

从类中删除totalgrosspay字段,编写一个简单的“getter”来计算值并返回它...

public double getTotalGrossPay()
{
    return HourlyRate * HoursWorked;
}

作为一般的经验法则,您不应该直接访问字段,而应该始终通过方法访问它们的值(设置/获取

另外,不要忽略传递给构造函数的值...

public Payroll(String Name, int ID, double HourlyRate, double HoursWorked)
{
    EmployeeName = Name;
    IDnumber = ID;
    // What about HourlyRate and HoursWorked??
}

或者让用户提供这些vai设置器,或者在您的构造函数中分配它们(是的,您可以使用这些设置器在事件发生后更改值...)

public Payroll(String Name, int ID, double HourlyRate, double HoursWorked)
{
    EmployeeName = Name;
    IDnumber = ID;
    this.HourlyRate = HourlyRate;
    this.HoursWorked = HoursWorked;
}
 类似资料:
  • 我是servlet新手。我想做的是使用servlet将文件上传到我的服务器,同时我发送一个文本值,即在服务器端更改的文件名。问题是我使用ajax帖子将表单数据提交给servlet,但在我的servlet中,我从request.get参数中获取空值。 这是我的html; 这是我对服务器的jquery ajax调用; 这就是我如何从servlet中的表单中获取值;在这里,您将看到一行字符串fileEx

  • 问题内容: 如何获得HTML表单的值以传递给JavaScript? 它是否正确?我的脚本有两个参数,一个来自文本框,一个来自下拉框。 问题答案: HTML: JS:

  • 我正在尝试使用spring data JPA repository方法在数据库中插入4个表单字段name、age、location和address。当我将表单提交到操作时,控制器不会无法接收提交的值。在控制器操作中获取null。在这里,我尝试使用spring、spring boot和spring data JPA。下面是我的控制器, 我的形式是, 导入javax.persistence.*;

  • 问题内容: 如何在Java中获取char的UTF8代码?我有char’a’,我想要值97我有char’é’,我想要值233 这是更多值的表格 我试过了,但结果却是10分而不是97分,为什么? 这似乎很基本,但是任何帮助将不胜感激! 问题答案: 实际上是包含该字符的unicode值(准确地说是UTF-16-您需要 两个 s来表示BMP之外的字符)的数字类型。您可以用它做的所有事情都可以用。 尝试将字

  • 我想在窗体的操作重定向它之前从窗体中获取值。例如,在这个表单中,我想抓取“text_one”并将其发送到数据库,然后再将其重定向到google。我还想在谷歌上看到“text_one”。我该怎么办?

  • 我的问题是:我有列表对象学生包括100个对象 现在,我只想得到一些学生的年龄有名字“ABC”,“BCD”,“DEF” 所以我会这么做: