0

さて、これは私が問題を抱えていた Java の割り当てです。私は以前にこれについて尋ね、いくつかの良いコメントとアドバイスを得ましたが、それ以来、割り当てをより明確に理解し、問題は少し変わりました. だからここに割り当てがあります:

...プログラムは、ユーザーがゼロを入力するまで整数 (最大 100 個の整数) を要求する必要があります。整数は 1 から 100 まで変化し、100 個の要素を持つ配列に格納されます。数値は、パラメーターとして数値を持つ配列を受け取る askInfo メソッドで要求されます。メソッドは整数の数を返します。数値ゼロは配列に保存されません。入力を停止するために使用されるだけです...

完了するプログラム:

import java.util.*;

public class RevisionExercise {

    public static void main(String[] args) {

        int[] tempArray = new int[100];
        System.out.println("Type in numbers. Type zero to quit.");

        int amountOfNumbers = askInfo(tempArray);
        int[] realArray = new int[amountOfNumbers];
        copyInfo(realArray, tempArray);
        setArray(realArray);
        printArray(realArray);
    }


    // Your code here
    public static void printArray(int[] realArray ) {

        System.out.println("\Ordered array: ");
        for(int i = 0; i < realArray .length; i++) {
            System.out.println(realArray [i]);

        }
    }

印刷例:

数字を入力します。ゼロを入力して終了します。
1. 番号: 3
2. 番号: 8
3. 番号: 5
4. 番号: 6
5. 番号: 9
6. 番号: 0

順序付き配列: 9 8 6 5 3

askInfo メソッドに苦労しています。これまでこれを書いてきましたが、ゼロしか返しません。これが私の askInfo メソッドです:

public static int askInfo(int[] tempArray) {   //askinfo-metodi

    Scanner reader = new Scanner(System.in);
    int i;

    for (i = 0; i < tempArray.length; i++) {
        System.out.print((i+1) + ". number: ");
        tempArray[i] = reader.nextInt();
        if (tempArray[i] == 0) {
            return tempArray[i];    
        }
    }
    return tempArray[i];
}

割り当てで説明されているように、入力を登録し、割り当ての次のメソッドに渡される数値の量を取得するにはどうすればよいですか。

4

1 に答える 1