使用方法返回输入到数组中的值的数量

时间:2013-08-20 18:32:33

标签: java arrays methods numbers return

好的,这是我一直遇到麻烦的Java任务。我之前问过这个问题并得到了一些很好的意见和建议,但是从那时起就更清楚地理解了这个任务,问题也发生了一些变化。所以这是作业:

  

...程序应该询问整数(最多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]);

        }
    }

打印示例:

  

输入数字。输入零以退出。
  数字: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];
}

如何进行注册输入并获取要传递给赋值中下一个方法的数字量,如分配中所述。

1 个答案:

答案 0 :(得分:2)

  

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

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

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

P.S。将来,只发布必要的来解决您的问题。这里有很多代码可以解决你的问题。