我有一个来自 Employee 类的分配变量 e3,它接受 2 个字符串(名字、姓氏)和一个双精度值。我遇到的挑战是,当它只需要双精度数时,我在双精度参数中插入了一个“-”减号。
我使用 Visual Studio Code 作为我的 IDE,它标记动态内存的参数,让您知道该参数的值到底是什么。
当我运行代码时,它可以很好地输出到屏幕上,但在更复杂的项目中,我相信我需要进行某种类型的转换。我正在寻找有关将非整数/双精度数据输入整数/双精度参数的任何建议。关于为什么预测前缀消失的解释也将起作用!
下面我附上了我的代码,第一个块是main(),第二个块是我的类。
public class EmployeeTest {
public static void main(String args[]) {
Employee e1 = new Employee(nameF: "nameF", nameL: "nameL", monthlySalary: 2500.00);
Employee e2 = new Employee(nameF: "nameF", nameL: "nameL", monthlySalary: 3600.75);
Employee e3 = new Employee(nameF: "nameF", nameL: "nameL", -6000.00);
System.out.println(e1);
System.out.println(e2);
System.out.println(e3);
}
}
在此代码片段中,您可以在第 1-2 行看到 new Employee() 中,我的 IDE 已使用 nameF:、nameL: 和 MonthSalary: 标记参数
在第 3 行,当我插入“-”减号时,monthlySalary: 被省略。
下面是我的员工类文件
public class Employee {
private String nameF;
private String nameL;
private double monthlySalary;
public void setFirstName(String firstName) {
firstName = nameF;
}
public void setLastName(String lastName) {
lastName = nameL;
}
public void setMonthlySalary(double salary) {
salary = monthlySalary;
}
public int getFirstName() {
return nameF;
}
public int getLastName() {
return nameL;
}
public double getMonthlySalary() {
return monthlySalary;
}
//Here is the method I am having trouble with, specifically the double argument
Employee(String nameF, String nameL, double monthlySalary) {
this.nameF = nameF;
this.nameL = nameL;
this.monthlySalary = monthlySalary;
}
是的,你说得对。参数嵌入提示不适用于负数。可能是因为它没有将负数视为文字。然而,一种解决方法是,如果您将特定语言的参数嵌入提示切换为“全部”,那么它也适用于负数。但缺点是它也将针对变量名称参数启用。
因此,如果这对您来说不是问题,那么您可以通过转到 vscode 设置(ctrl+,)为所有类型的参数启用嵌入提示 搜索“参数名称” 滚动直到找到
{language} > inlay hints > Parameter Names : Enabled
,然后从 all
中选择
dropdown