将字符串转换成整数[Java]
来源:互联网 发布:淘宝网情侣装dongji 编辑:程序博客网 时间:2024/06/05 03:50
题目描述
将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0
输入描述:
输入一个字符串,包括数字字母符号,可以为空
输出描述:
如果是合法的数值表达则返回该数字,否则返回0
输入例子:
+2147483647 1a33
输出例子:
2147483647 0
import java.util.Scanner;public class StringToInteger { public static void main(String[] args) { Scanner sin = new Scanner(System.in); while (sin.hasNext()) { String readLine = sin.nextLine(); int result = new StringToInteger().StrToInt(readLine.trim()); System.out.println(result + " " + statusValid); } sin.close(); } // 定义全局变量, 判断输出的 0 是非法输入, 还是正常输入的 “0” public static boolean statusValid = true; public int StrToInt(String str) { // 输入为 null 或者 字符串为空 if (str == null || str.length() == 0) { statusValid = false; return 0; } int start = 0; int tag = 0; if (str.charAt(0) == '+') { start = 1; tag = 1; } else if (str.charAt(0) == '-') { start = 1; tag = -1; } else { start = 0; tag = 1; } // str == “+” 或者 “-” if (start == 1 && str.length() == 1) { statusValid = false; return 0; } long current = 0L; for (int i = start; i < str.length(); i++) { char temp = str.charAt(i); if (temp >= '0' && temp <= '9') { //current = current * 10 + (temp - '0'); current = (current << 1) + (current << 3) + (temp & 0xf); } else { // 字符串中有非法字符 statusValid = false; return 0; } } long result = tag * current; // 上溢出或者下溢出 if (tag == 1 && result > Integer.MAX_VALUE || tag == -1 && result < Integer.MIN_VALUE) { statusValid = false; return 0; } statusValid = true; return (int) result; }
阅读全文
0 0
- Java代码 将字符串转换成整数
- 将字符串转换成整数[Java]
- 将整数转换成字符串
- 将整数转换成字符串
- 将字符串转换成整数
- 将字符串转换成整数
- 将字符串转换成整数
- 将整数转换成字符串
- 将字符串转换成整数
- java编程之将整数字符串转换为整数
- 请问如何将整数转换成字符串?
- 如何将一个整数转换成字符串
- 将字符串转换成整数编程举例
- 将整数转换成字符串输出
- 将字符串转换成整数 atoi
- 如何将字符串转换成整数.
- 1.实现将整数转换成字符串
- 2.实现将字符串转换成整数
- Vjudge攻略——ACdream-1099
- Python学习笔记(9) -- string.letters(关键词:a-zA-Z的集合)
- myql 统计优化
- MySQL 学习<十二> MySQL权限表
- 【读书笔记】机器学习实战 第7章 基于单层决策树的adaboost
- 将字符串转换成整数[Java]
- JavaWeb--使用Websocket实现在线聊天功能
- IOS警告as the name of the previous parameter rather than as part of the selector
- Struts(五)json解析
- 150. Evaluate Reverse Polish Notation
- 光流基本介绍
- 使用PHP函数写验证码截取一些字符串
- python环境搭建
- 关于配置SmartConfig导致ESP8266频繁硬件复位的问题