A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Akm 黑马帝   /  2013-6-6 09:20  /  1798 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

【题目】字符串转换成整数题目详情:
输入一个表示整数的字符串,把该字符串转换成整数并输出,例如输入字符串"345",则输出整数345。
请完成函数StrToInt,实现字符串转换成整数的功能。

友情提醒:提交代码之前,请复查下你的程序,比如当给的字符串是如左边图片所示的时候,有考虑到么?当然,它们各自对应的正确输出如右边图片所示(假定你是在32位系统下,编译环境是VS2008以上)input:                                          output:
                                                      

答题说明:
  • 完成功能函数StrToInt即可,但不要去改动函数名,参数,至于main函数是为方便你在提交代码之前进行在线编译测试;
  • 不得用库函数atoi。


代码片段
  1. public class GlobalMembers
  2. {
  3.     public static int StrToInt(String str)
  4.     {
  5. //code
  6.     }


  7.     //start
  8.     public static void main(String args[])
  9.     {
  10. //code
  11.       
  12.     }
  13.     //end
  14. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

4 个回复

倒序浏览
我答出来是不是 就可以进黑马啊??呵呵:
  1. public class Test {
  2.         public static void main(String[] args){
  3.                 String reg = "[\\D&&[^\\+\\-]]*([\\+\\-]?\\d+).*";
  4.                 String str = "  --23a8f";
  5.                
  6.                 if(str.matches(reg)){
  7.                         String s = str.replaceAll("[\\D&&[^\\+\\-]]*([\\+\\-]?\\d+).*","$$1");
  8.                         String s1 = s.replaceAll("[\\+?](\\-?\\d+)", "$$1");
  9.                         String s2 = s1.replaceAll("(\\-?)0*([1-9]\\d*)", "$$1$$2");
  10.                         if(s2.equals("-0"))
  11.                                 System.out.println(0);
  12.                         else
  13.                                 System.out.println(s2);
  14.                 }else{System.out.println(0);}
  15.         }
  16.        
  17. }
复制代码

点评

Akm
上边的字符串 你都测试过了吗>??  发表于 2013-6-7 13:03

评分

参与人数 1技术分 +1 收起 理由
刘凯 + 1 速度走流程啊 。。。

查看全部评分

回复 使用道具 举报
我答出来是不是 就可以进黑马啊??呵呵:
  1. public class Test {
  2.         public static void main(String[] args){
  3.                 String reg = "[\\D&&[^\\+\\-]]*([\\+\\-]?\\d+).*";
  4.                 String str = "  --23a8f";
  5.                
  6.                 if(str.matches(reg)){
  7.                         String s = str.replaceAll("[\\D&&[^\\+\\-]]*([\\+\\-]?\\d+).*","$$$$1");
  8.                         String s1 = s.replaceAll("[\\+?](\\-?\\d+)", "$$$$1");
  9.                         String s2 = s1.replaceAll("(\\-?)0*([1-9]\\d*)", "$$$$1$$$$2");
  10.                         if(s2.equals("-0"))
  11.                                 System.out.println(0);
  12.                         else
  13.                                 System.out.println(s2);
  14.                 }else{System.out.println(0);}
  15.         }
  16.        
  17. }
复制代码
回复 使用道具 举报
First 发表于 2013-6-6 23:33
我答出来是不是 就可以进黑马啊??呵呵:

那是自然啊,你发现哪个不正确吗?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马