【发布时间】:2016-07-12 04:11:24
【问题描述】:
我正在尝试编写一个打印出具有唯一绝对值的数字的程序。 这是我的尝试:
import java.util.*;
public class MyClass {
static ArrayList<Integer> aCopy;
public static void main(String[] args)
{
int myArray[]= {-5, 4,-6,8,-4,6,13};
System.out.println(Arrays.toString(myArray));
aCopy = new ArrayList<>();
for(int i=0; i<myArray.length; i++)
{ aCopy.add(myArray[i]); }
System.out.println("Numbers with unique abs. value are:");
findDifferentAbsoluteValues(myArray);
System.out.println(aCopy);
}
public static boolean findDifferentAbsoluteValues (int[] anArray)
{
for (int i=0; i<anArray.length;i++)
{
for(int j=i+1;j<anArray.length; j++)
{
if ( Math.abs(anArray[i]) == Math.abs(anArray[j]) )
{
aCopy.remove(anArray[i]);
return false;
}
}
}
return true;
}
}
但它给出了不正确的输出。我(还)不是很流利地使用java,所以这不是我主要关心的问题,而是解决方案很优雅,只需要它工作))任何人都可以解释一下有什么问题吗?
【问题讨论】:
-
请在您的问题中包含实际输出和所需输出
标签: java arrays loops absolute