1

これは、「initialMarks」という名前の配列に数値を計算する私のプログラムです。ただし、スキャナーを使用して別のクラスから initialMarks 配列を埋めたいと思います。その方法を理解するのを手伝ってもらえますか? 結果配列「result」を 3 番目のクラスでアウトプリントすることは可能ですか?

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;
    }
}
4

2 に答える 2

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]);
    }
}

編集:以下のコードを実行します。うまく動作することがわかります。

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]);
    }
}
于 2013-10-30T19:03:09.433 に答える
0

他のクラスにはストリームを返すメソッドを含めることができ、それをスキャナのコンストラクタにフィードできます。

他のクラスの 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;

次に、最初のクラス otherClass で:

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

そして、あたかもユーザー入力であるかのようにマークを読み込みます。

于 2013-10-30T19:06:10.183 に答える