博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java面试题,将String字符串转换成数字
阅读量:6113 次
发布时间:2019-06-21

本文共 2415 字,大约阅读时间需要 8 分钟。

hot3.png

题目要求:将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;    }}

转载于:https://my.oschina.net/are1OfBlog/blog/290651

你可能感兴趣的文章
Cordova 开发环境搭建及创建第一个app
查看>>
ajax请求拿到多条数据拼接显示在页面中
查看>>
小程序: 查看正在写的页面
查看>>
dedecms生成文档数据库崩溃 mysql daemon failed to start
查看>>
Linux的50个基本命令
查看>>
Objective-C中创建单例方法的步骤
查看>>
[转]无法安装MVC3,一直卡在vs10-kb2483190
查看>>
Codeforces 520B:Two Buttons(思维,好题)
查看>>
web框架-(二)Django基础
查看>>
Jenkins持续集成环境部署
查看>>
emoji等表情符号存mysql的方法
查看>>
Excel到R中的日期转换
查看>>
检查磁盘利用率并且定期发送告警邮件
查看>>
MWeb 1.4 新功能介绍二:静态博客功能增强
查看>>
linux文本模式和文本替换功能
查看>>
Windows SFTP 的安装
查看>>
摄像机与绕任意轴旋转
查看>>
rsync 服务器配置过程
查看>>
预处理、const与sizeof相关面试题
查看>>
爬虫豆瓣top250项目-开发文档
查看>>