2
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);

        }

    }

}

配列内の負の要素の数を数えようとしています。これは私がこれまでに持っているものです。私の質問は次のとおりです。日食は、静的な int の代わりに void を返すべきだと言っていますか? void を使用せずにこれを行うにはどうすればよいですか?

使いたいです

public static int negativenum(int[] array){

これを機能させる唯一の方法は、正と負の数値で配列を作成してそれらをカウントすることですが、数値の配列を作成せずにそれを行うメソッドが必要です。手伝って頂けますか?

4

4 に答える 4

2

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 に変更できます。

参考までに、クラス名を小文字で始めないでください。

于 2012-10-08T04:02:27.363 に答える
1

エラーは、を返すと予想される関数から何も返していないためですint

関数が負の数をカウントし、関数の呼び出し元がカウントを取得できるようにカウントを返すようにする場合は、

return negative;

関数の終了前。

あるいは、関数から何も返さず、関数呼び出しの一部としてカウントを出力したい場合は、関数の戻り値の型を から に変更できintますvoid

public static void Negativenum (int[] array) {
于 2012-10-08T04:01:51.030 に答える
1

関数のシグネチャは int の戻り値の型を示唆していますが、関数から何も返していません。これが、関数のシグネチャを変更して void を返すように Eclipse が提案している理由だと思います。

追加する場合return negative;は、Eclipse からの通知を回避する必要があります。

単にカウントを出力するだけの場合は、戻り値の型を変更する必要があります。

于 2012-10-08T04:03:19.610 に答える
0

何も返したくない場合は、メソッド シグネチャを 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);

その呼び出しの後、negative には、メソッドによって決定された負の数のカウントが含まれます。

于 2012-10-08T04:16:00.453 に答える