精华内容
下载资源
问答
  • Java实现字符串转换成整数

    万次阅读 多人点赞 2019-07-21 14:52:11
    输入一个由数字组成的字符串,请把它转换成整数并输出。例如,输入字符串“123”,输出整数123。 请写出一个函数实现该功能,不能使用库函数。 2 解决方案 解答本问题的基本思路:从左至右扫描字符串中的每个字符,...

    1 问题描述
    输入一个由数字组成的字符串,请把它转换成整数并输出。例如,输入字符串“123”,输出整数123。

    请写出一个函数实现该功能,不能使用库函数。

    2 解决方案
    解答本问题的基本思路:从左至右扫描字符串中的每个字符,把之前扫描得到的数字乘以10,再加上当前字符表示的数字。

    但是,基本思路是这样,还要注意以下几点:

    (1)最好判断一下输入是否为空。

    (2)如果字符串的第一个字符是‘-’号,最终得到的整数必为负整数。

    (3)输入的字符串中不能含有不是数字的字符。

    (4)输入的字符串不能太长,否则转换成整数后会导致整数溢出。

    package com.liuzhen.string_1;
    
    import java.util.Scanner;
    
    public class StringToInt {
        public static int Max_INT = Integer.MAX_VALUE;
        public static int Min_INT = Integer.MIN_VALUE;
        
        public int getStringToInt(String A){
            char[] arrayA = A.toCharArray();
            int n = 0;
            if(A.equals("") || A.equals(null))     //判断输入是否为空
                return 0;
            int i = 0;
            while(arrayA[i] == ' ')   //处理字符串首位的空格
                i++;
            int sign = 1;   //用于判定输入字符串数字的正负,初始化为1表示为正数
            if(arrayA[i] == '+' || arrayA[i] == '-'){
                if(arrayA[i] == '-')
                    sign = -1;
                i++;
            }
            while(i < arrayA.length && Character.isDigit(arrayA[i])){  //确定是数字0~9才执行循环
                int c = arrayA[i] - '0';
                //当输入字符串表示数为正数,且大于Max_INT
                if(sign > 0 && (n > Max_INT/10 || (n == Max_INT/10 && c > Max_INT%10))){
                    n = Max_INT;
                    break;
                }
                //当输入字符串表示数为负数,且小于Min_INT
                if(sign < 0 && (n + Min_INT/10 > 0 || (n + Min_INT/10 == 0 && c + Min_INT%10 > 0))){
                    n = Min_INT;
                    break;
                }
                //把之前得到的数字乘以10,再加上 当前字符表示的数字
                n = n*10 + c;
                i++;
            }
            
            return sign > 0 ? n : -n;
        }
        public static void main(String[] args){
            StringToInt test = new StringToInt();
            Scanner in = new Scanner(System.in);
            System.out.println("请输入一个由数字组成的字符串:");
            String A = in.nextLine();
            int result = test.getStringToInt(A);
            System.out.println("整数result = "+result);
        }
    }
    

    运行结果:

    请输入一个由数字组成的字符串:
      -1000
    整数result = -1000
    
    
    请输入一个由数字组成的字符串:
    +100000
    整数result = 100000
    
    
    请输入一个由数字组成的字符串:
    a1212
    整数result = 0
    
    
    请输入一个由数字组成的字符串:
    整数result = 2147483647
    
    
    请输入一个由数字组成的字符串:
    -10000000000
    整数result = -2147483648
    
    展开全文
  • 字符串转换成整数 java

    千次阅读 2018-11-09 22:30:56
    将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。 输入描述: 输入一个字符...

    把字符串转换成整数 java

    题目描述
    将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。

    输入描述:
    输入一个字符串,包括数字字母符号,可以为空
    输出描述:
    如果是合法的数值表达则返回该数字,否则返回0

    示例1
    输入
    +2147483647
    1a33
    输出
    2147483647
    0

    代码1:

    public class Solution {
        public int StrToInt(String str) {
            if(str.length() == 0 || "".equals(str)){
                return 0;
            }
            char[] c = str.toCharArray();
            int fu = 0, sum = 0;
            if(c[0] == '-'){
                fu = 1;
            }
            for(int i = fu; i < c.length; i++){
                if(c[i] == '+'){
                    continue;
                }
                if(c[i] >= 48 && c[i] <= 57){
                    sum = sum * 10 + c[i] - 48;
                }else{
                    return 0;
                }
            }
            if(fu == 1){
                sum = sum * (-1);
            }
            return sum;
        }
    }
    

    代码2:

    展开全文
  • JAVA字符串转换成整数

    万次阅读 2019-03-14 18:35:13
    剑指offer: 将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。 public ...

    剑指offer: 将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。

    public class Main {
    
      public static int StrToInt(String str) {
        if (str.length() == 0)
          return 0;
        char[] chars = str.toCharArray();
        // 判断是否存在符号位
        int flag = 0;
        if (chars[0] == '+')
          flag = 1;
        else if (chars[0] == '-')
          flag = 2;
        int start = flag > 0 ? 1 : 0;
        int res = 0;// 保存结果
        for (int i = start; i < chars.length; i++) {
          if (Character.isDigit(chars[i])) {// 调用Character.isDigit(char)方法判断是否是数字,是返回True,否则False
            int temp = chars[i] - '0';
            res = res * 10 + temp;
          } else {
            return 0;
          }
        }
        return flag == 1 ? res : -res;
    
      }
    
      public static void main(String[] args) {
        // TODO Auto-generated method stub
        String s = "-12312312";
        System.out.println("使用库函数转换:" + Integer.valueOf(s));
        int res = Main.StrToInt(s);
        System.out.println("使用自己写的方法转换:" + res);
    
      }
    
    }

     

    展开全文
  • Java 实现把字符串转换成整数

    万次阅读 2018-05-10 10:07:06
    将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0 。输入一个字符串,包括数字字母符号,可以为空; 如果是合法的数值表达则返回该数字,否则返回0;...
    将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0 。
    
    输入一个字符串,包括数字字母符号,可以为空; 

    如果是合法的数值表达则返回该数字,否则返回0;

    代码

        public static int parseString2Int(String str) {
            if (Strings.isNullOrEmpty(str)) {
                return 0;
            }
            // 数字的正负,默认是正数
            int symbol = 1;
            char[] array = str.toCharArray();
            int sum = 0;
            // 如果第一位是'-',说明结果应该是个负数,'+'不需要处理symbol
            // 同时替换该位置上的字符为0,这样在下面的处理中,可以认为是跳过该字符
            // 因为0 * 10还是0
            if (array[0] == '-') {
                symbol = -1;
                array[0] = '0';
            } else if (array[0] == '+') {
                array[0] = '0';
            }
            for (int i = 0; i < array.length; i++) {
                // 如果不是数字,而是其他字母符号一类非数字字符,则直接返回0
                if (array[i] < '0' || array[i] > '9') {
                    return 0;
                }
                // sum * 10是为了将当前已获得数字整体左移一位,让新的数字可以处于个位上,比如"12"
                // 第一次拿出1,在第二次拿出2的时候,1应该在十位上,2在个位上,所以 1 * 10 + 2 = 12
                // array[i] - '0',这里减去字符'0',是因为字符'0'-'9'的ascii码值与其对应的数字相差48,而'0'的ascii码值正好是48
                sum = sum * 10 + array[i] - '0';
            }
            return sum * symbol;
        }
    
        public static void main(String[] args) {
            int result = parseString2Int("123");
            System.out.println(result);
        }

    展开全文
  • 字符串转换成整数java实现

    千次阅读 2017-10-07 21:17:30
    将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0 思路:将字符串转换字符数组,然后遍历字符数组,首先判断符号,然后遍历整个字符数组获取字符,...
  • 字符串转换成整数Java

    万次阅读 2018-05-27 09:24:26
    题目:字符串转换整数。注意事项(思考点):(1)字符串中包含有非数字字符;(2)字符串中包含正负符号;(3)考虑最大的正整数;(4)考虑最小的负整数;(4)溢出。开始时我的想法只考虑了第一,第二种情况:/...
  • 字符串转换成整数 java实现

    千次阅读 2017-11-10 18:47:46
    将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0 输入描述: 输入一个字符串,包括数字字母符号,可以为空 输出描述: 如果是合法的数值表达则返回...
  • 字符串转换成整数Java实现)

    千次阅读 2017-05-19 12:26:56
    本题为剑指offer面试题49 ... 时间限制:1秒空间限制:32768K ...将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0 输入描述: 输入一个字符
  • Java代码 将字符串转换成整数

    千次阅读 2015-04-26 17:16:56
    这个算法题目很经典,我用的是Java语言,讲一个给出的字符串转换成整数,我们可以分为四步来进行。 算法思想:1、第一步:给出一个字符串,首先我们应该先判断它是否为空,这个可以通过调用字符串的长度方法来判断...
  • 将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。 输入描述 输入一个字符...
  • 字符串转换成整数java) 剑指offer

    千次阅读 2018-08-29 11:48:21
    将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0. package Tree; public...
  • 49.把字符串转换成整数

    千次阅读 2018-05-07 20:01:27
    题目描述将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0;输入描述: 输入一个字符串,包括数字字母符号,可以为空 输出描述: 如果是合法的数值表达则...
  • 字符串转换整数pythonIn this tutorial you’ll see two ways to convert string to integer in python. 在本教程中,您将看到在python中将字符串转换为整数的两种方法。 As we know we don’t have to declare ...
  • 文章目录面试题67:把字符串转换成整数一、题目描述二、问题分析三、问题解答 面试题67:把字符串转换成整数 一、题目描述 请你写一个函数StrToInt,实现把字符串转换成整数这个功能。当然,不能使用库函数。 二、...
  • Java把带小数点的字符串转换成整数

    千次阅读 2020-05-27 10:05:54
    带小数点的字符串是不能直接转成整数的,应该先将它转double类型再转int整数。 具体操作如下: String str = "80.0"; nt intValue = Double.valueOf(str).intValue();
  • 字符串转换成整数java版)

    千次阅读 2017-06-07 11:16:17
    【题目描述】将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0【输入说明】输入一个字符串,包括数字字母符号,可以为空【输出说明】如果是合法的数值...
  • 字符串转换成整数 写一个函数 StrToInt,实现把字符串转换成整数这个功能。不能使用 atoi 或者其他类似的库函数。 ** 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。 当...
  • 【编程题】把字符串转换成整数java实现) 题目来源 剑指offer https://www.nowcoder.com/practice/1277c681251b4372bdef344468e4f26e?tpId=13&tqId=11202&rp=3&ru=/ta/coding-interviews&qru=/ta/...
  • 字符串转换整数pythonUnlike many other programming languages out there, Python does not implicitly typecast integers (or floats) to strings when you concatenate them to strings. 与现有的许多其他编程...
  • * 将整数字符串转换成整数输出 */ public static void main(String[] args) { String s = "-1456542"; change(s); } public static void change(String s){ boolean flag = true; long num
  • 题目:输入一个表示整数的字符串,把该字符串转换成整数并输出。 例如输入字符串"345",则输出整数345。   package cn.itcast.number; import java.util.Scanner; public class StringtoNUM { public ...
  • 1.判断字符串输入是否合法,重点判断一个字符串除第一个字符外是否包含非数字字符,若包含,则返回0,不包含,则进行转换成整数操作; 2.取出字符串第一个字符,遍历第一个字符之后的所有字符,计算除第一个字符外...
  • 剑指offer——把字符串转换成整数Java中int与String的相互转换、ASCII码) 1 知识点储备 1.1 字符串与整数相互转换常用库函数 1)String转换int类型:在 Java 中要将 String 类型转化为 int 类型时,需要...
  • 输入一个表示整数的字符串,把该字符串转换成整数并输出。例如输入字符串"345",则输出整数345 public class Atoi { public int atoi(String str){ int neg=0; int i=0; if(str.charAt(i)=='-'){ i++; ...
  • java编程之将整数字符串转换整数

    千次阅读 2013-05-10 18:46:35
    *设计一个程序,其功能是从命令行输入整数字符串,再将该整数字符串转换整数,输入的数据可能具有以下格式: 12345 123 45 123x yz456 对这种异常进行捕获和处理。 */ import java.util.Scanner; //导入java.util...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 156,863
精华内容 62,745
关键字:

java字符串转换成整数

java 订阅