【问题标题】:Method return Java assignment方法返回 Java 赋值
【发布时间】:2013-08-21 15:49:47
【问题描述】:

好的,这是一个我一直遇到问题的 Java 作业。我早些时候问过这个问题,并得到了一些很好的 cmets 和建议,但后来更清楚地理解了这项任务,问题也发生了一些变化。作业如下:

                                        ***

你的任务是通过编写三个方法(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 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];

}   



                       ***

如何才能注册输入并获取要传递给作业中下一个方法的数字数量,如作业中所述。

【问题讨论】:

  • 忽略第二个 for 循环。这是出于某些测试目的。
  • 你应该更具体。你的方法应该怎么做?

标签: java arrays methods integer return


【解决方案1】:

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

tempA[i] = luku;

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

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

【讨论】:

  • 注意:除非您想在看到 0 时完全跳过打印(这看起来与您想要做的完全相反),否则您可能想要 break; 而不是 return i;这里。否则,在tempA 中设置所有这些整数将是徒劳的。
  • 或者,更好的是,完全忘记tempA。将值存储在 tempArray 中,它是作为参数提供的。
猜你喜欢
  • 2021-05-10
  • 2012-12-18
  • 1970-01-01
  • 1970-01-01
  • 2017-08-30
  • 1970-01-01
  • 2014-04-21
  • 2016-07-26
  • 1970-01-01
相关资源
最近更新 更多