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

1

“使用 askInfo 方法询问数字,该方法接收带有数字作为参数的数组。方法返回整数的数量。”

查看您当前的 askInfo() 方法。您正在返回数组的元素 i。您想要返回数组的总大小,而不是单个元素。你怎么能做到这一点?

提示:查看您返回的内容并记住 Java 编号从 0 开始,而不是 1。

PS 以后,只发布解决您的问题所必需的内容。这里有很多代码不需要解决您的问题。

于 2013-08-20T18:41:16.830 回答