[英]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.