算法: 把字字符串转化为整数;
生活随笔
收集整理的這篇文章主要介紹了
算法: 把字字符串转化为整数;
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
算法: 把字字符串轉化為整數;
* @問題: 把字符串轉化為整數* 題目描述
* 將一個字符串轉換成一個整數(實現Integer.valueOf(string)的功能,但是string不符合數字要求時返回0),
* 要求不能使用字符串轉換整數的庫函數。 數值為0或者字符串不是一個合法的數值則返回0。
* 輸入描述:
* 輸入一個字符串,包括數字字母符號,可以為空
* 輸出描述:
* 如果是合法的數值表達則返回該數字,否則返回0
* @思路: 轉化為數組,判斷非空;然后根據數字0到9的ASIC碼來確定,判斷數組是否處于48到57;返回sum = sum*10 + 數組;
package LG.nowcoder;/*** @Author liguo* @Description* @問題: 把字符串轉化為整數* 題目描述* 將一個字符串轉換成一個整數(實現Integer.valueOf(string)的功能,但是string不符合數字要求時返回0),* 要求不能使用字符串轉換整數的庫函數。 數值為0或者字符串不是一個合法的數值則返回0。* 輸入描述:* 輸入一個字符串,包括數字字母符號,可以為空* 輸出描述:* 如果是合法的數值表達則返回該數字,否則返回0* @思路: 轉化為數組,判斷非空;然后根據數字0到9的ASIC碼來確定,判斷數組是否處于48到57;返回sum = sum*10 + 數組;* @Data 2018-09-15 9:41*/ public class Solution21 {public static int StrToInt(String str) {if (str.equals( "" ) || str.length() == 0)return 0;char[] a = str.toCharArray();int shouwei = 0;if (a[0] == '-')shouwei = 1;int sum = 0;for (int i = shouwei; i < a.length; i++) {if (a[i] == '+')continue;if (a[i] < 48 || a[i] > 57)return 0;sum = sum * 10 + a[i] - 48;}return shouwei == 0 ? sum : sum * -1;}public static void main(String[] args) {String test2 = "-2133";String test1 = "12334";System.out.println( Integer.valueOf( test2 ) );System.out.println( StrToInt( test2 ) );} }
?
??
?
?
?
轉載于:https://www.cnblogs.com/liguo-wang/p/9650098.html
總結
以上是生活随笔為你收集整理的算法: 把字字符串转化为整数;的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Open vSwitch系列实验(一):
- 下一篇: 内部领导力:向敏捷演化