有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

数组方法返回Java赋值

好的,这是一个Java作业,我一直遇到麻烦。我早些时候问过这个问题,得到了一些很好的评论和建议,但后来我对作业的理解更清楚了,问题也有了一些改变。下面是作业:

                                        ***

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

要完成的程序:

导入java。util.*

公开课修正练习{

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. 三,


我正在努力使用askInfo方法。到目前为止,我已经写了这个,但它只返回零。以下是我的askInfo方法:

公共静态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) 个答案

  1. # 1 楼答案

    你永远不会在数组中存储整型luku值,所以你的数组永远不会改变默认的初始化整数值全零。在循环中,需要添加一个

    tempA[i] = luku;
    

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

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