方法返回Java赋值

时间:2013-08-19 18:38:51

标签: java arrays methods integer return

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

                                        ***

您的任务是通过编写三个方法(askInfo,copyInfo和setArray)来完成下面的程序。程序应该询问整数(最多100个整数),直到用户键入零。整数可以从1到100变化,并且它们存储在具有100个元素的数组中。使用askInfo方法请求数字,该方法接收带有数字作为参数的数组。方法返回整数。数字零不保存在数组中;它仅用于停止输入。然后将给定的数字复制到另一个数组,该数组的大小是给定数字的数量。使用copyInfo方法完成复制,该方法接收两个数组作为参数。在此之后,新数组的元素将使用setArray方法按升序排列,并使用printArray方法打印在屏幕上。

完成的计划:

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 数量:5 数量:6 5.号码:9 6.数字:0

有序数组: 9 8 6 五 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)

您永远不会在数组中存储整数luku值,因此您的数组永远不会更改为全零的默认初始化整数值。在你的循环中,你需要添加一个

tempA[i] = luku;

if语句确认luku不是0之后。总而言之:

if (luku == 0) {
    return i;   
}
tempA[i] = luku;