首页 > 代码库 > java面试题,将String字符串转换成数字
java面试题,将String字符串转换成数字
题目要求:将String字符串转换成数字,不能用java自带的方法转换字符串,要求自己写一个atoi(String s),如果输入的不是数字则返回0。
import java.util.Scanner; /** * Created by Dell on 2014/7/14. * * 面试题 * 将字符串转换成数字,不用java自带的方法 */ public class MianShi_01 { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("str = "); String str = input.nextLine(); System.out.println(new MianShi_01().atoi(str)); } public int atoi(String s) { int[] num = new int[10]; int j = 0; String tmp = null; for (int i = 0; i < s.length(); i++) { if (s.charAt(0) == ‘-‘ || Character.isDigit(s.charAt(i))) { if (s.charAt(0) == ‘-‘) { tmp = "-"; } switch (s.charAt(i)) { case ‘0‘: num[j] = 0; j++; continue; case ‘1‘: num[j] = 1; j++; continue; case ‘2‘: num[j] = 2; j++; continue; case ‘3‘: num[j] = 3; j++; continue; case ‘4‘: num[j] = 4; j++; continue; case ‘5‘: num[j] = 5; j++; continue; case ‘6‘: num[j] = 6; j++; continue; case ‘7‘: num[j] = 7; j++; continue; case ‘8‘: num[j] = 8; j++; continue; case ‘9‘: num[j] = 9; j++; continue; } } else { return 0; } } int NUM = (int) Math.pow(10, j); int a = 0; for (int i = 0; i < num.length; i++) { NUM = NUM / 10; a += num[i] * NUM; } if (tmp != null) { return -a; } return a; } }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。