Java 从数组中查找正数和负数?
我有一个任务,我需要帮助。 int[]数组={12,23,-22043545,-4,-55,43,12,0,-99,-87} 我必须做两个数组。第一个用于正数,第二个用于负数和重复数。我不能使用ArrayList int[]数组={12,23,-22,0,43545,-4,-55,43,12,0,-999,-87}Java 从数组中查找正数和负数?,java,arrays,Java,Arrays,我有一个任务,我需要帮助。 int[]数组={12,23,-22043545,-4,-55,43,12,0,-99,-87} 我必须做两个数组。第一个用于正数,第二个用于负数和重复数。我不能使用ArrayList int[]数组={12,23,-22,0,43545,-4,-55,43,12,0,-999,-87} for(int i=0;i<array.length;i++){ if(array[i]>0){ Sy
for(int i=0;i<array.length;i++){
if(array[i]>0){
System.out.println("Positive:"+array[i]);
}
else if
(array[i]<0){
System.out.println("Negative:"+array[i]);
}
for (int j = i + 1; j < array.length; j++) {
if (array[j] ==array[i]) {
System.out.println("Dup:"+array[j]);
}
}
}
}
for(int i=0;i0){
System.out.println(“正:“+array[i]);
}
否则如果
(数组[i]这个怎么样:
public void test() {
int[] array = {12, 23, -22, 043, 545, -4, -55, 43, 12, 0, -99, -87};
List<Integer> positive = new ArrayList<>();
List<Integer> negative = new ArrayList<>();
List<Integer> duplicate = new ArrayList<>();
for (int i = 0; i < array.length; i++) {
int n = array[i];
// Simple check for +ve/-ve
if (n >= 0) {
positive.add(n);
} else {
negative.add(n);
}
// Check for duplicates.
for (int j = i + 1; j < array.length; j++) {
if (array[j] == n) {
duplicate.add(n);
}
}
}
System.out.println("+ve - " + positive);
System.out.println("-ve - " + negative);
System.out.println("dup - " + duplicate);
}
公共无效测试(){
int[]数组={12,23,-22,043,545,-4,-55,43,12,0,-99,-87};
List positive=new ArrayList();
List negative=new ArrayList();
List duplicate=new ArrayList();
for(int i=0;i=0){
正。添加(n);
}否则{
否定。添加(n);
}
//检查有无重复。
对于(int j=i+1;j
请记住,您的教授对此答案有完全开放的访问权限,甚至可能在她那里有一个帐户。请确保完全理解此代码,否则您将无法学习课程的这一部分。尝试理解代码并回答您的教授
int[] array={12,23,-22,043,545,-4,-55,43,12,0,-99,-87};
List<Integer> postiveNumbers=new ArrayList<Integer>();
List<Integer> negativeNumbers=new ArrayList<Integer>();
List<Integer> duplicateNumbers=new ArrayList<Integer>();
for(int i=0;i<array.length;i++){
if(!(postiveNumbers.contains(array[i])||negativeNumbers.contains(array[i]))) {//checks whether it contains duplicates
if (array[i] >= 0) {
postiveNumbers.add(array[i]);
} else if (array[i] < 0) {
negativeNumbers.add(array[i]);
}
}
else duplicateNumbers.add(array[i]);
}
System.out.println(postiveNumbers);
System.out.println(negativeNumbers);
System.out.println(duplicateNumbers);
int[]数组={12,23,-22043545,-4,-55,43,12,0,-99,-87};
List postiveNumbers=new ArrayList();
List NegativeEnumbers=新的ArrayList();
List DuplicateNumber=新的ArrayList();
对于(int i=0;i=0){
postiveNumbers.add(数组[i]);
}else if(数组[i]<0){
negativeEnumbers.add(数组[i]);
}
}
添加(数组[i]);
}
系统输出打印项次(邮政编码);
System.out.println(负片数);
系统输出打印项次(重复编号);
到目前为止你试过什么了吗?展示你试过什么了吗?我投票结束这个问题,因为它是一个作业转储,没有显示任何解决方法。使用for
循环数组,使用if
检查条件。好了,现在实现一个解决方案。好的,我知道,但我不能使用List,ArrayList…仅适用于和如果使用此算法,如果相同数字出现N次,它将多次存储在“重复”列表中,实际上是N(N-1)/2次。我想这不是我们需要的。@Ira-你可以使用数组而不是列表,但那会更复杂。你可能会发现使用StringBuilder
,或者如果你必须的话,甚至可以附加到String
。@KonstantinosChalkias-很好的观点-如果这是一个问题,那么集合将更合适谢谢大家的帮助…谢谢大家的帮助。。。