[英]How can I print a result from a void method
我正在为我的编程课入门做作业,这是一种冒泡的选择。 代码可能有缺陷,但是我不是在寻找解决这个问题的人。 我的问题是,我正在尝试打印它。 我得到的条件是该方法必须由void方法在“公共静态void sort(int []数组)”行中定义。 因此,如果我尝试导入Arrays,并使用System.out.println(Arrays.toString(sort(array)));
在我的主要方法中,它将不起作用,因为我收到一个编译器错误,指出void不适用。 如果我尝试将其放入main方法的循环中,则表明存在不兼容的类型。 找到的是一个void,所需的是一个int [],但是赋值的原始条件是使用void方法。 因此,话虽如此,我应该出于测试目的将方法从void更改为int []并以void的形式提交分配,还是有办法用void打印此代码的输出,而我只是想念它?
public static void sort(int[] array)
{
int[] y = new int[array.length];
for(int i = 0; i<=array.length-1; i++)
{
for(int j = i+1; i<=array.length-1; j++)
{
if(array[i] < array[j]){
y[i] = array[j];
}
if(array[i] >= array[j]){
y[i] = array[i];
}
}
for(int k = 0; k<y.length; k++){
System.out.println(y[k]);
}
}
} //end of sort method
为了打印数组,您需要在main
方法中
//code that initializes the array or whatever
sort(myArray);
System.out.println(Arrays.toString(myArray)); //print the array modified by the previous method call
还要注意@ A4L关于本地数组的内容。 使用作为参数传递给方法的数组,不要创建新数组。
Arrays.sort()
修改您传入的数组。因此,如果您遍历该array
对象并在调用Arrays.sort()
之后打印元素,它将为您打印。
由于您有一个无效的排序方法,因此您希望它对数组进行排序是一种副作用。 也就是说,修改您作为方法参数传递的int[] array
引用中的值。 然后您可以从main打印它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.