Java 从方法返回数组

Java 从方法返回数组,java,arrays,swing,methods,Java,Arrays,Swing,Methods,这是主课 actionsClass actionObject = new actionsClass(tipArray, hourArray, hourlyWageInput, gasArray, wageArray, incomeArray, totalHourlyEarnings, totalGas, totalHours, avgGasLabel); actionObject.calculateTable(); 这是我试图实现该方法的类(当前声明的变量过多): i

这是主课

actionsClass actionObject = new actionsClass(tipArray, hourArray, 
     hourlyWageInput, gasArray, wageArray, incomeArray, totalHourlyEarnings, 
     totalGas, totalHours, avgGasLabel);

actionObject.calculateTable();
这是我试图实现该方法的类(当前声明的变量过多):

import javax.swing.JButton;
导入javax.swing.JLabel;
导入javax.swing.JTextField;
公共课堂行动课堂{
private JLabel hourlyWage,blank,第2行,totalTips,TotalHourlyWage,TotalHourlyWages,
totalPay,weekPay,day,totalGas,totalHoursLabel,TotalTipLabel,totalGasLabel,
totalWageLabel、avgGas、avgGasLabel;
私有JTextField hourlyvageinput;
私人双人不规则[]=新双人[7];
私有JTextField tipArray[]=新JTextField[7];
私有JTextField hourArray[]=新JTextField[7];
私有JTextField gasArray[]=新JTextField[7];
私有JLabel wageArray[]=新JLabel[7];
公共行动类别(){
}
公共行动课堂(JTextField[]tipArray,JTextField[]hourArray,
JTextField hourlyWageInput,JTextField[]gasArray,
JLabel[]数组,双[]不规则,
JLabel TotalHourls、JLabel totalGas、JLabel totalHours、,
JLabel avgGasLabel){
this.tipArray=tipArray;
this.hourArray=hourArray;
this.hourlyWageInput=hourlyWageInput;
this.gasArray=gasArray;
this.wageArray=wageArray;
this.incomeArray=incomeArray;
this.totalHourlDreamings=totalHourlDreamings;
this.totalGas=totalGas;
this.totalHours=totalHours;
this.avgGasLabel=avgGasLabel;
}
公共字符串可计算(){
对于(int i=0;i<7;i++){
double tipx=double.parseDouble(tipArray[i].getText());
double houry=double.parseDouble(hourArray[i].getText());
double hourlyz=double.parseDouble(hourlyWageInput.getText());
字符串[]wageArrayStrings=null;
如果(小时数!=0){
wageArrayStrings[i]=String.format(“%.2f”,(hourlyz*houry+tipx)/houry);
}
否则{
下注金额[i]=(“$0.00”);
}
}
返回下注字符串[];
}
}


返回wageArrayStrings[]时出现语法错误;有无括号。我做错了什么?

应该只是返回
wageArrayStrings
;不需要方括号,返回类型应该是
String[]
而不是
String
(假设您打算返回字符串数组)。

首先,返回类型应该是
String[]

然后需要初始化数组(正如@MattBall在循环之前指出的):

它应该是(也更改了函数返回的类型)-


此外,您还没有初始化数组。您应该在for循环之前这样做。

N.B.数组应该在循环之外声明和初始化。这是我的主要问题。谢谢你们两位!
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JTextField;

public class actionsClass {

private JLabel hourlyWage, blank, row2, totalTips, totalHours, totalHourlyEarnings, 
totalPay, weekPay, day, totalGas, totalHoursLabel, totalTipsLabel, totalGasLabel, 
totalWageLabel, avgGas, avgGasLabel;
private JTextField hourlyWageInput;

private double incomeArray[] = new double[7];
private JTextField tipArray[] = new JTextField[7];
private JTextField hourArray[] = new JTextField[7];
private JTextField gasArray[]= new JTextField[7];
private JLabel wageArray[] =new JLabel[7];


public actionsClass() {
}

public actionsClass(JTextField[] tipArray, JTextField[] hourArray,
        JTextField hourlyWageInput, JTextField[] gasArray,
        JLabel[] wageArray, double[] incomeArray,
        JLabel totalHourlyEarnings, JLabel totalGas, JLabel totalHours,
        JLabel avgGasLabel) {
    this.tipArray = tipArray;
    this.hourArray = hourArray;
    this.hourlyWageInput = hourlyWageInput;
    this.gasArray = gasArray;
    this.wageArray =  wageArray;
    this.incomeArray =  incomeArray;
    this.totalHourlyEarnings =  totalHourlyEarnings;
    this.totalGas = totalGas;
    this.totalHours = totalHours;
    this.avgGasLabel = avgGasLabel;
}

public String calculateTable (){
    for (int i = 0; i < 7; i++) {
        double tipx = Double.parseDouble(tipArray[i].getText());
        double houry = Double.parseDouble(hourArray[i].getText());
        double hourlyz = Double.parseDouble(hourlyWageInput.getText());

        String[] wageArrayStrings = null;

        if (houry != 0 ){
            wageArrayStrings[i] = String.format("%.2f", (hourlyz*houry+tipx)/houry);

        }
        else {
            wageArrayStrings[i] = ("$ 0.00");
        }

    }
    return wageArrayStrings[];
}
String[] wageArrayStrings = new String[7];
for (int i = 0; i < 7; i++) {
return wageArrayStrings;
public String[] calculateTable () {

    //// your code.
    return wageArrayStrings;
}