java通过两个整数数组对正整数和负整数进行排序
我们给出了以下字符串:
int [] array = {12, 23, -22, 0, 43, 545, -4, -55, 43, 12, 0, -999, -87}.
必须有两行,一行用于存储,另一行用于字符串数组的负元素,并提取将执行适当元素的必要逻辑,并将它们放置在适当的线程中
换句话说,在给定的线性数组中,所有的正元素都将被获得,并放置在一个单独的行中。此外,所有要获取的元素和负片都要放在一个单独的行中
您还需要确定字符串数组中的重复数
当然,编写的函数必须适用于任意数量的整数。但是我的老师说我的代码没有目标行,他给了我一个例子:目标字符串是另外两行,你将放置独立的正值和负值。例如,如果您有一个字符串:
int arr = {1,2,3,4, -1, -2, -3, -4}
那么目标范围将是:
int pos = {1,2,3,4}
int hc = {-1, -2, -3, -4}
当然,这应该使其可编程,而不是硬编码,如本例所示。现在我如何改进我的代码
public static void main(String[] args) {
int array1[]= {12, 23, -22, 0, 43, 545, -4, -55, 43, 12, 0, -999, -87};
System.out.println("Array 1 :");
Arrays.sort(array1);
for (int positive: array1) {
if (positive >= -1)
System.out.println("Positive numbers :" + positive+ "\t");
}
System.out.println();
System.out.println("Array 2 :");
for (int negative: array1) {
if (negative >= -1) {
}else{ System.out.println("Negative numbers :" +negative);
}
}
System.out.println();
for (int i = 0; i < array1.length -1; i++) {
if (array1[i + 1 ] == array1[i]) {
System.out.println("Duplicate element found :" + array1[i]);
i = i + 1;
}
}
}
}
# 1 楼答案
# 2 楼答案
如果我正确理解了你的问题,你想制作包含正数和负数的新数组
使用您的变量名,我会选择如下解决方案:
这将产生:
首发阵容:1232-2243545-4-5543120-999-87
正阵:123043545 43120
负片阵列:-22-4-55-999-87
# 3 楼答案
试试看