我遇到了以下问题......我删除了代码中没有的重要部分,因此它不那么令人困惑。所有其他符号/变量已被定义或初始化。整数初始化和方法错误
基本上我想要做的是这样的:
numsalchange是在一个循环中,如果indsaldif数组中的值是0。如果他们确定一个单独的方法,它当然递增变化。
更改将在稍后发送到要显示的报告方法。我用几种不同的方式尝试了几种不同的方式,值和肯定不会等于0.但是,每次更改输出为0时,我知道它肯定是别的东西。
我已经试过刚刚宣布的变化
int change;
,然后设置其作为法为零,但它不会让我将其发送到方法,无需在主被初始化。
我有一种感觉,它在报告方法中显示为0,因为它被初始化为零并发送报告为0而不是更新的值。
public static void main blah(String[] args){
int change = 0;
numsalchange (userinput, change, indsaldif);
report (userinput, oldsalary, newsal, indsaldif, change);
public static void numsalchange(String[] userinput, int change, double[] indsaldif){
for (int i=0; i<userinput.length; i++){
if(indsaldif[i] != 0){
change++;}}}
public static void report(String[] userinput, double[] oldsalary, double[] newsal, double[] indsaldif, int change){
DecimalFormat twoDigits = new DecimalFormat("0.00");
double saldiff = 0;
for(double i : indsaldif) {
saldiff += i;
}
String toString;
StringBuilder sb = new StringBuilder(64);
sb.append("PB Incorporated Salary Report \n");
for (int i = 0; i < userinput.length; i++) {
sb.append("---------- \nEmployee:"+ userinput[i] + "\nOld Salary: $"+ twoDigits.format(oldsalary[i]) + "\nNew Salary: $" + twoDigits.format(newsal[i]) + "\nSalary Change: $" + twoDigits.format(indsaldif[i])+"\n");
//**
}
sb.append("---------- \nTotal Employee Salary Increase: $" + twoDigits.format(saldiff) + "\n# of Salary Increases: " + change);
JOptionPane.showMessageDialog(null, sb.toString());}
}