所以我的程序打印一个数组但是当它执行时它还包括括号和逗号,我不想要那些。
这是我的图书馆
import java.util.*;
public class library2
{
public static boolean IsPrime(int p)
{
for (int i = 2; i < p; i++)
{
if (p % i == 0 && i != p)
return false;
}
return true;
}
public static List<List<Integer>> GetPrimes(int n)
{
List<Integer> arr = new ArrayList<Integer>();
for (int j = 2; j < n; j++)
{
if(IsPrime(j))
{
arr.add(j);
}
}
return Arrays.asList(arr);
}
}
这是我的司机
import java.util.Scanner;
import java.util.*;
import java.util.Arrays;
public class driver2
{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
System.out.print("Please input an integer: ");
int n = scan.nextInt();
Boolean check = library2.IsPrime(n);
List<List<Integer>> arr = library2.GetPrimes(n);
System.out.println(Arrays.toString(arr));
}
}
我已经尝试了Arrays.toString();
方法但是在编译时遇到错误。我使用import java.util.Arrays;
,但没有解决任何问题。有人可以帮我吗。
答案 0 :(得分:1)
arr
是一个列表而不是数组。
你应该迭代并打印:
Iterator<List<Integer>> arrIterator = arr.iterator();
while (arrIterator.hasNext()) {
List<Integer> l = arrIterator.next();
Iterator<Integer> lIterator = l.iterator();
while(lIterator.hasNext()){
int i = lIterator.next();
System.out.print(i + " ");
}
System.out.print("\n");
}