Java:请问如何在主类使用普通类通过赋值后得到的某个数组,在普通类中返回数组的值好像不可行哎,求解答!谢谢!
普通类代码如下
public class menu {
public double price;
public double getPrice() throws IOException {
@SuppressWarnings("resource")
BufferedReader br = new BufferedReader(new FileReader("menu.txt"));
br.readLine();
String str;
int i=0;
String[] priceArray=new String[]{};
double[] price=new double[4];
while((str=br.readLine())!=null){
priceArray=str.split("\\s+");
for(int j=0;j<3;j++) {
if(j==2) {
price[i]=Double.parseDouble(priceArray[j]);
i++;}
if(i==4) break;
}
}
return price[4];
}
主类相关代码如下:
public static void main(String[] args) throws IOException{
……
if (confirm=='n') {
mu.getPrice();
System.out.println(mu.getPrice());
System.out.println("您今晚的总消费金额为:"+(num1*price[0]+num2*price[1]+num3*price[2]+num4*price[3]));
}
}
你的这个price数组已经在主类中定义过了吗?因为你在调用的方法中重新new了一个price数组,而你只返回了一个price[4]的值。
你现在可以将这个方法的返回值类型改为double[],直接return整个数组,然后在main方法里面进行接收:
double[] prices = mu.getPrice();
如果你的main方法就在这个类下的话(在同一个类中),可以定义一个全局变量的double数组,这样可以省去传参的麻烦。因为方法都是在同一个类下,所以定义的全局变量(成员变量)可以直接使用。
有帮助请采纳,还有不懂的可以继续追问~