我正在尝试用java编写程序来打印数组列表。我知道已经有了Array.toString(arr)方法,但是我不希望列表中有“[..]”。我写了一些简单的代码。
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int t = in.nextInt();
int[] v = new int[10000];
for(int i = 0; i <= t; i++){
int m = in.nextInt();
int n = in.nextInt();
int list = 0;
for(int min = m; min < n; min++){
if(isPrime(min) == true){
v[list] = min;
list++;
}
}
System.out.printf(("%d \n"), list + ("\n \n"));
}
}
public static boolean isPrime(int num){
int sqrt = (int) Math.sqrt(num) + 1;
for(int i = 2; i < sqrt; i++){
if(num % i == 0)
return false;
}
return true;
}
说这是输入
1
1 10
,输出是
2
3
5
7
按照这个确切的顺序和格式。
我做错了什么?
答案 0 :(得分:2)
这将解决您的错误
System.out.printf(("%d \n"), list,( "\n \n"));
但是,如果您要打印素数,则需要打印num
而不是list
for(int min = m; min < n; min++){
if(isPrime(min) == true){
v[list] = min;
list++;
System.out.printf(("%d \n"), min,( "\n \n"));
}
}
}