下面是我做了什么,它工作正常,但我想没有固定数量的负面和正面文章,所以代码可以在任何数组上工作:
int[] array = {15, 22, 71, -27, 33, -44, 0, 334, -82}; int[] negative = new int[3]; int[] positive = new int[6]; int n = 0; int p = 0; for(int i=0;i有什么建议吗?
1> Davide Loren..:您可以遵循两种不同的方式:
在第一步计算负数和正数,生成负数和正数的数组并填充它们
创建
List
正面和负面,填充它们并将它们转换为数组
如果没有必要使用正数和负数数组,您还可以将原始数组拆分为两个列表(而不是两个数组).
第一种可能性
int numPositives = 0; int numNegatives = 0; for(int i=0;i= 0) { numPositives++; } else { numNegatives++; } } int[] negative = new int[numNegatives]; int[] positive = new int[numPositives]; int n = 0; int p = 0; for(int i=0;i
第二种可能性
ListpositivesList = new ArrayList (); List negativesList = new ArrayList (); for (int i = 0; i < array.length; i++) { if (array[i] >= 0) { positivesList.add(array[i]); } else { negativesList.add(array[i]); } } int[] positive = positivesList.toArray(new int[positivesList.size()]); int[] negative = negativesList.toArray(new int[negativesList.size()]);