又100分求助!验证算法!!急!
String   valid= "1=7+8+9+10-23 "   其中“1、7....”等等为用户填的表单编号。。。   
 现在就是需要验证用户输入的数据能不能通过valid表示的关系。。。   
 这个算法咋写?   
 达人们帮帮。。。。
------解决方案--------------------不是很清楚,帮忙顶。
------解决方案--------------------用正则表达式来判断。或者String类提供的方法也能实现。你描述的很含糊,我就不写了。
------解决方案--------------------看不懂题目,详细描述一下
------解决方案--------------------  public class ReflectNum {   
 	public static void main(String[] args){ 
 		int[] arr = {0,11,22,33,55,55}; 
 		String str= "5=1+2-3+4 "; 
 		String[] numb_left = (str.split( "= "))[0].split( "[+-] "); 
 		String[] numb_right = (str.split( "= "))[1].split( "[+-] "); 
 		String[] code_left = (str.split( "= "))[0].split( "[0-9]+ "); 
 		String[] code_right = (str.split( "= "))[1].split( "[0-9]+ ");  		 
 		if(getNumber(arr,numb_left,code_left)  
 				== getNumber(arr,numb_right,code_right)) 
 			System.out.println( "success! "); 
 		else 
 			System.out.println( "failed! "); 
 	}  	 
 	public static int getNumber(int[] arr,String[] num,String[] flg){ 
 		int sum=arr[new Integer(num[0]).intValue()];  		 
 		for(int i=1;i <num.length;i++) 
 			sum=step(arr[new Integer(num[i]).intValue()],sum,flg[i]);   
 		return sum; 
 	} 
 	public static int step(int item,int sum,String flg){   
 		if(flg.equals( "+ ")) sum+=item; 
 		else if(flg.equals( "- ")) sum-=item;  				 
 		return sum; 
 	} 
 }
------解决方案--------------------		String str= "5=1+2+3+4 "; 
 		String str1[]=str.split( "= "); 
 		String str2[]=str1[1].split( "\\+ "); 
 		double total=0; 
 		for(int i=0; i <str2.length; i++) total+=arr[str2[i]]; 
 		if(total==arr[str1[0]]) System.out.println( "Equal "); 
------解决方案--------------------哦,忘了,String还需要转换为整形,如: 
 total+=arr[new Integer(str2[i])];
------解决方案--------------------上面的只考虑了加法运算吧
------解决方案--------------------	public static void main (String arg[]) { 
 		double arr[]={1,2,3,4,10}; 
 		String str= "4=0+1-2+3 "; 
 		String str1[]=str.split( "= "); 
 		String str2[]=str1[1].split( "\\+|- "); 
 		String str3=str1[1].replaceAll( "[0-9] ", " "); 
 		double total=arr[new Integer(str2[0])]; 
 		for(int i=1; i <str2.length; i++) { 
 			if(str3.charAt(i-1)== '+ ') total+=arr[new Integer(str2[i])]; 
 			else total-=arr[new Integer(str2[i])]; 
 		} 
 		if(total==arr[new Integer(str1[0])]) System.out.println( "Equal "); 
 	} 
 }
------解决方案--------------------public class Test{    
     public static void main(String[] args)  
     { 
     	int[] arr = {0,11,22,33,55,55};   
         String s  =  "5=1+2-3+4 "; 
         String[] s1 = s.split( "\\D ");           
         System.out.println(arr[Integer.parseInt(s1[0])] 
         ==arr[Integer.parseInt(s1[1])]+arr[Integer.parseInt(s1[2])] 
         -arr[Integer.parseInt(s1[3])]+arr[Integer.parseInt(s1[4])]);     
     } 
 }