赛门铁克的面试题
1.写一个方法method1(String   s),返回字符串参数中最后一个数字。 
 例:“His   telephone   number   is   123456789”      return   123456789; 
                 "There   are   1   bees,2   butterflies,3   dragonflies "   return   3;   
 2.用2分法查询并返回数组中元素的索引   method2(int   n)。 
 {-10,0,10,17,17,23,65,123}   当n   =   17   return   4;当n=24   return   5;   
 前段时间去面试时候做的,1个小时,一共3道。还有一道2进制的题数字太长没记下来。当时俺没做完,特来此寻觅高人。   
 看看你有没有进著名外企的实力!^_^ 
------解决方案--------------------第一道题目用正则式应该是比较好的选择,第二道题目要做出来应该也只是时间问题。是笔试还是上机,笔试的话那1个小时要做3道这种题还真得看状态了
------解决方案--------------------先把字符串反转.然后找出第一串数字.再把数字反转成原来的数字. 
 这个方法虽然笨,但可以避免数字前是非空格的情况.
------解决方案--------------------中午帮你写,吃饭去了
------解决方案--------------------看到了差距了。
------解决方案--------------------第一题先获取字符串长度在 提取最后一个字符 不可以吗??非要用正则?
------解决方案--------------------先把字符串反转.然后找出第一串数字.再把数字反转成原来的数字. 
 这个方法虽然笨,但可以避免数字前是非空格的情况. 
 ///////////////////////////////////////////////////// 
 这个方法不错,将string用split分割成字符数组,然后找到第一个全为数字的元素就行了 
 ,不知道“hello my3”要不要提取3???题的意义还不太明确 
------解决方案--------------------第一个程序: 
 import java.util.regex.*; 
 import java.io.*; 
 class A  
 { 
 	public static void main(String[] args) throws 
IOException  	{ 
 		System.out.println( "输入一行字符串,返回最后一个数字! "); 
 		BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); 
 		String s=br.readLine(); 
 		method1(s); 
 	}   
 	static void method1(String s) 
 	{ 
 		Pattern p=Pattern.compile( "\\d+ "); 
 		StringBuffer sb=new StringBuffer(s); 
 		String s1=sb.reverse().toString(); 
 		Matcher m=p.matcher(s1); 
 		m.find(); 
 		String s2=m.group(); 
 		StringBuffer sb1=new StringBuffer(s2); 
         System.out.println(sb1.reverse()); 
 	}   
 } 
 小弟技术差,查了半天API才写出来...
------解决方案--------------------有空研究下
------解决方案--------------------String[] str =  "11abc222 ".split( "[\\D]+ "); 
 		System.out.println(str[str.length-1]);
------解决方案--------------------有空研究下 
------解决方案--------------------up
------解决方案--------------------如果是笔试的话,我肯定来不及啊!
------解决方案--------------------第一题: 我没用正则表达式,就是从尾到头遍历搜索,先得到最后出现得数字(利用ASIC码) 
         然后保存这个位置为end,再往前搜索直到不是数字,保存这个位置为begin,最后取出从begin到end子串,程序如下,稍加改动即可判断出小数和负数。 
 public class TestString 
 { 
 	public static void main(String[] args) 
 	{ 
 		String s1 = new String( "His telephone number is 123456789 "); 
 		String s2 = new String( "There are 1 bees,2 butterflies,3 dragonflies "); 
 		System.out.println(method1(s1)); 
 		System.out.println(method1(s2)); 
 	}  	 
 	public static String method1(String s) 
 	{ 
 		char end; 
 		for(int i=s.length()-1; i> =0;i--) 
 		{ 
 			end = s.charAt(i); 
 			if(end <48||end> 57) continue;