2013-12-15 34 views
0

所以基本上我想要做的是能:如何将一个变量从一个类传递给另一个类?

class MainFile { 
public static void main(String args[]){ 
class2 TEObject = new class2(); 
int var1 = 1; 
int var2 = 1; 
int var3 = 1; 
int sc = 1; 
TEObject.method1(sc, var1, var2, var3); 
double[][] somearray = class2.out(somearray); 
System.out.println(somearray); 
} 
} 

,这里是第二类:

public class class2 { 
private double Mult; 
public double method1(int sc, int var1, int var2, int var3) 
{ 
    double[][] somearray = 
      {{1,1,1,1,1,1,1,1,1,1,1,1}, 
      {1,0.5,1,0.5,0.5,1,1,2,2,0.5,1,2}, 
      {1,2,0.5,1,1,0.5,1,1,0.5,1,1,2}, 
      {1,2,1,0.5,0.5,1,1,0.5,2,1,0.5,2}, 
      {1,2,2,2,0.5,1,0.5,1,1,0.5,1,0.5}, 
      {1,1,0.5,1,1,0.5,2,0.5,1,2,2,0.5}, 
      {1,0.5,1,0.5,1,1,0.5,2,0.5,2,2,1}, 
      {1,0.5,2,2,2,2,0.5,0.5,0.5,1,1,0.5}, 
      {1,1,1,0.5,2,2,1,2,0.5,0.5,0.5,1}, 
      {1,1,0.5,1,2,0.5,2,0.5,1,0.5,2,1}, 
      {1,1,2,1,0.5,0.5,0.5,1,2,2,0.5,1}, 
      {1,0.5,0.5,2,1,2,2,1,1,1,0.5,0.5}, 
      }; 
    Mult = somearray[sc][var1]*somearray[sc][var2]*somearray[sc][var3]; 
    return Mult;//This needs to be returned for other methods in class2 
} 
public static double[][] out(double[][] somearray){ 
    return somearray; 
} 
//Some more methods go here 

我这里的问题是,它要求我把在值,当我尝试和调用它说该类型不适用于参数的方法。我不能把null放在那里,否则它只会打印null。

失败了,我基本上想要一种方法能够从一个类输出到我的主类,以便我可以操纵主类中的数组。

编辑:我已经更新了类,所以他们更清楚我想要做什么。

+0

method1和method2的参数是什么? – klarki

+0

没有必要在标题中添加主标签。 –

回答

0

你要的method2返回值存储在一个变量在你Main类,如下所示:

double[][] somearray = class2.object.method2(); 

如果你想获得somearraymethod1这是不会因为你只能上班用Java方法返回一个对象。唯一的出路将是一个包装对象,它包含somedoublesomearray。或者,如果您不需要返回somedouble,请改为选择somearray

+0

不幸的是,我确实需要返回somedouble,所以为什么我首先有一个method2。 – ninjapenguin981

+0

我不知道,你用两种方法发布了代码......我只是在猜测你真正想在这里做什么,但可能将'somearray'存储在'class2'的字段中,并通过一个简单的getter调用'method1'后将是一个解决方案。 – chk

0

您正在调用method2而没有参数,但它期望somearray的参数 方法2也有一个返回值,您没有使用它。退一步来说,您的调用代码和class2的接口的意图根本不适合。

+0

这是我的问题。我用什么作为参数,如果我把一些没有定义的数组放在一起,如果我把它置为null,它只输出为null。 – ninjapenguin981

+0

咦?那么除了抛出异常之外,它还会做什么?你提供了一个解决方案,不会解决你没有解释过的问题,所以我们都只是难住或猜测。 –

相关问题