新手 求助 谢谢
public static int[] m1(int [] arr)//输出 arr数组的各个数。
{
for(int i=0;i<arr.length;i++)
{
System.out.println(arr[i]);
}
return arr;
}
public static boolean m4(int arr,int i)//判断 arr是不是素数 是返回 true 不是返回false
{
if(arr % i == 0){
return false;
}
return true;
}
public static int m3(int arr){//判断 该数组的每个数是不是素数
for(int i=2;i<arr;i++){
if(m4(arr,i)){
return arr;
}
}
return 0;
}
public static int[] m2(int [] arr){
int [] backarr= new int [arr.length];
int x=0;
for(int i=0;i<arr.length;i++){//遍历数组
x=arr[i];
}
backarr[arr.length]=m3(x);----------提示我说这个
return backarr;
}
public static void main(String[] args) {
int [] arr={68,23,3,5,7,13,9,34};
int []suarr = m2( arr);--------------和这个是错误的 但是这段是老师写的 我实在不明白怎么错了 还望 能帮帮我 最好能多打点字 谢谢
m1(suarr);
}
}
------解决方案--------------------for(int i=0;i<arr.length;i++){//遍历数组
x=arr[i];
}
backarr[arr.length]=m3(x);----------提示我说这个
这个是越标了吧?
backarr[arr.length-1]=m3(x)
------解决方案--------------------package csdn;
class demo1 {
public static int[] m1(int[] arr)// 输出 arr数组的各个数。
{
for (int i = 0; (i < arr.length)&&arr[i]!=0; i++) {
System.out.print(arr[i]+" ");
}
return arr;
}
public static boolean m4(int arr, int i)
{
int flag=0;
for (; i < arr; i++) {
if (arr % i == 0) {
flag=1;
}
}
if (flag==0) {
return false;
} else
return true;
}
public static int m3(int arr) {
if (!m4(arr, 2)) {
return arr;
}
return 0;
}
public static int[] m2(int[] arr) {
int[] backarr=new int[arr.length] ;
int x = 0;
int j=0;
for (int i = 0; i < arr.length; i++) {// 遍历数组
x = arr[i];
if (m3(x)!=0) {
backarr[j]=x;
j++;
}
}
return backarr;
}
public static void main(String[] args) {
int[] arr = { 68, 23, 3, 5, 7, 13, 9, 34 };
int[] suarr = m2(arr);
m1(suarr);
}
}