如何从另一个类填充我的数组?(Java)

时间:2013-10-30 18:55:16

标签: java arrays class

这是我的程序,它对一个名为“initialMarks”的数组中的数字进行了一些计算。但是我想使用scanner来填充来自另一个类的initialMarks数组。你能帮我弄清楚怎么做吗?是否可以在第三类中将结果数组“结果”打印出来?

public class testingN
{
    public static void main(String[] args) 
    {
           int [] initialMarks = new int [4];
           int [] result = new int [6];
           result[0] = computedMarks(initialMarks[0], initialMarks[1])[0];
           result[1] = computedMarks(initialMarks[2], initialMarks[3])[1];

            for(int i=0; i< result.length; i++)
                  System.out.println(result[i]);
    }

    public static int [] computedMarks(int mark1, int mark2) 
    {   
        int [] i= new int [6];
            for (int j = 0; j < i.length; j++)
        {                   
              if ((mark1 < 35 && mark2 > 35) || (mark1 > 35 && mark2 < 35))
              {
                i[j] = 35;
              }
              else
              {
                i[j] = (mark1 * mark2);
              }
        }
        return i;
    }
}

2 个答案:

答案 0 :(得分:0)

public class testingN
{
    static int [] result = new int [6];
    static int [] initialMarks = new int [4];

    public static void main(String[] args) 
    {

result声明为类成员(全局变量)并成为static应该有助于您的事业

示例:使用其他类

public class AnotherClass {

    public static void main(String[] args) {
        // example
        testingN.result[0] = 4;

        System.out.println(testingN.result[0]);
    }
}

修改:运行Here下面的代码。你会发现它运作得很好。

class testingN
{
    static int [] result = new int [6];
    static int [] initialMarks = new int [4];
}

public class AnotherClass {

    public static void main(String[] args) {
        // example
        testingN.result[0] = 4;

        System.out.println(testingN.result[0]);
    }
}

答案 1 :(得分:0)

您的其他类可以有一个返回流的方法,您可以将其提供给Scanner的构造函数。

在你的另一个类的String getInitialMarks()方法中:

// Generate a string with all the "marks" as "stringWithMarks", separated by "\n" characters
InputStream is = new ByteArrayInputStream( stringWithMarks.getBytes( "UTF-8" ) );
return is;

然后在你的第一堂课,其他课程:

Scanner scanner = new Scanner(otherClass.getInitialMarks());

然后继续阅读标记,就好像它是用户输入一样。