簡體   English   中英

創建一個可以計算數組中負數的方法

[英]create a method that can count negative numbers in an array

public class negativeTest {

    public static int Negativenum (int[] array) {

        int negative = 0;
        for (int i = 0; i < array.length; i++){
            if(array[i] < 0){
                negative = negative + 1;
            }
            System.out.println(negative);

        }

    }

}

我試圖計算數組中有多少個元素為負數。 這是我到目前為止所擁有的。 我的問題是:蝕告訴我應該返回一個void而不是static int? 我如何在不使用void的情況下做到這一點?

我想用

public static int negativenum(int[] array){

我能使它正常工作的唯一方法是創建一個帶有正負數的數組並對其進行計數,但是我希望能夠擁有一種無需創建數字數組即可做到這一點的方法。 你能幫助我嗎?

嘗試給出return語句,您的方法期望將int作為返回參數。 因此,它將給編譯器錯誤。

public class negativeTest {

    public static int Negativenum (int[] array) {

        int negative = 0;
        for (int i = 0; i < array.length; i++){
            if(array[i] < 0){
                negative = negative + 1;
            }
            System.out.println(negative);

        }
      return negative;
    }

}

您收到的錯誤是因為您尚未在類內部聲明main函數。

您必須從主函數調用Negativenum

你可以這樣做:

 public static void main (String args[])
 {
 negativeTest  nt = new negativeTest();
 int [] array = new int[]{ 100,200 };  
 int count = nt.Negativenum(array);
 System.out.println(count);  // It will print **2** 
 }

關於您的疑問,您已經在評論中提出了。

僅當您要使用從調用函數返回值的函數時,才必須從函數返回任何值。 否則,如果您只想在控制台上打印該值或將該值記錄下來,則可以在negativeTest函數中輕松完成此操作,並且可以將此函數的返回類型更改為void。

僅供參考,您不應以小寫字母開頭類名。

該錯誤是因為您沒有從預期返回int的函數中返回任何內容。

如果您希望函數對負數進行計數並返回計數,以便函數的調用者獲得該計數,則可以添加一個

return negative;

在功能結束之前。

另外,如果您不想從函數返回任何內容,而只想在函數調用中打印計數,則可以將函數的返回類型從int更改為void

public static void Negativenum (int[] array) {

您的函數簽名建議返回int類型,但您不會從函數中返回任何內容。 我懷疑這就是為什么Eclipse建議您更改函數簽名以返回void的原因。

如果添加則return negative; 它應該避免Eclipse的通知。

如果您只是想打印計數,則應更改返回類型。

如果您不想返回任何內容,請將方法簽名設置為void,但添加一個out變量,如下所示:

public static void NegativeNum(int[] array, out int negative)
{
     negative = 0;
     foreach(int i in array) { if (i < 0) negative++;
}

然后只要在調用此方法的地方聲明為負,然后將其作為out變量傳入:

int negative = 0;
NegativeNum(array, out negative);

在該調用之后,負數將包含由方法確定的負數計數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM