新手  求助  谢谢
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);
	}
}