エリック・マシアス:
このメソッドは、パラメータ・アレイの正の要素を含む配列を返す。これを行うには、にアレイ状に正の要素の数を計算し、整数型の変数nElementsで得られた値を格納し、サイズの二重アレイ出力を宣言するnElementsは、アレイ出力に内の正の要素をコピーし、アレイ出力を返します。で、配列のすべての要素が非正である場合は、あなたの方法は、サイズ1と返された配列の要素のみの配列を返すべき値が割り当てられている-1。
ここでの私の質問は、私は私のプログラムを実行すると、それはjava.lang.NegativeArraySizeException「メイン」スレッドで例外を述べて、私はそれを取り出すだけ正の要素を返す方法がわからないです。
Javaの-コード:
public static double [] partialPositiveArray(double [] in)
{
int nElements = 0;
for(int i = 0; i < in.length; i++)
{
if(in[i] > 0)
{
nElements = (int)in[i];
}
else if(in[i] <= 0)
{
nElements = -1;
}
}
double [] output = new double[nElements];
for(int i = 0; i < in.length; i++)
{
output[i] = nElements;
}
return output;
}
SwissCodeMen:
このコードでは、すべての正の数を追加します。この例の合計は60.7であり、すべての負の数のためには、記述します-1負アレイに。この例では二回。
コード:
public class NegativeAndPositiveNumbers {
public static void main(String[] args) {
double[] arr = {25.0, -7.0, 10.7, 25.0, -64.0};
System.out.println(partialPositiveArray(arr));
int negative[] = negativeArray(arr);
for (int i = 0; i < negative.length; i++){
System.out.print(negative[i] + " ");
}
}
public static double partialPositiveArray(double[] in) {
double nElements = 0;
for (int i = 0; i < in.length; i++) {
if (in[i] > 0) {
nElements += in[i];
}
}
return nElements;
}
public static int[] negativeArray(double[] in) {
int[] negativeWithZero = new int[in.length];
int index = 0;
for (int i = 0; i < in.length; i++) {
if (in[i] <= 0) {
negativeWithZero[index] = -1;
index++;
}
}
int[] negative = new int[index];
for (int j = 0; j < negative.length; j++){
negative[j] = negativeWithZero[j];
}
return negative;
}
}
私はそれがより簡単に解決できると思いますが、それはとにかく動作します。私はすべてがクリアされている願っています