将字符串转成整数的函数给我看一下吗,简单看一下代码基本功。要求:不要调用parseInt等转换函数

为了提高面试流程效率,方便用java写一段将字符串转成整数的函数给我看一下吗,简单看一下代码基本功。

要求:不要调用parseInt等转换函数。按位读取字符串里的字符进行处理将字符串转化为整数,

不考虑整数溢出问题,给定的输入一定是合法输入不包含非法字符,字符串头尾没有空格,

考虑字符串开头可能有正负号。public int StringToInt(String str)

import javax.net.ssl.SSLContext;

/**
 * 字符串转为int
 * @author   IT
 * @Date	 2018年10月16日
 */
public class StringToInt {

	public static void main(String[] args) {
		String s = "2018";

		try {
			System.out.println("转换结果"+parse(s));
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public static int parse(String s) throws Exception{
	    int result = 0;
	    if (s == null || s.length() == 0) {
	      throw new Exception("字符串为空");
	    }

		 String s1 = s;
//			if(s.startsWith("-")) {
//				s1 = s.substring(1, s.length());
//		}

    for (int i = 0; i < s1.length(); i++) {
        if (i==0) {
          if(s1.charAt(i) == ‘-‘ ){
            continue;
          }
        }else{
          if(s1.charAt(i)>‘9‘ || s1.charAt(i)<‘0‘){
            throw new Exception("字符串格式错误");
          }
        }
        result = result * 10;
        result = ( result + s1.charAt(i) ) - ‘0‘;
        System.out.println("每一位数:"+s1.charAt(i));
        System.out.println("每一次累加结果:"+result);
      }
      return result;
	}
}

  

原文地址:https://www.cnblogs.com/itBulls/p/9800942.html

时间: 2024-11-05 17:31:40

将字符串转成整数的函数给我看一下吗,简单看一下代码基本功。要求:不要调用parseInt等转换函数的相关文章

170319 剑指offer 1.把一个字符串转化成整数(简单问题的全面性考虑)

工作的时间越长,越感觉基础的重要性,当我们对程序的框架结构越来越熟悉的时候,越会注意这一点,在工作当中,功能的实现是重要的,但是代码的健壮性,重用性,与扩展性确往往更为重要,在学习新技术的同时,我们或许应该抽出一点时间,去思考代码可能出现的问题. 关于剑指offer的这本书,可能所有刚毕业找工作的人,或者准备找工作的人都曾经看过,但是当时我们面对一些东西的时候心情过于浮躁,往往忽视了简单的却又十分重要的环节,(ps:也可能只有我是这样) 面试中一道简单的问题(把一个字符串转化成整数) 可能接触c

【LeetCode-面试算法经典-Java实现】【008-String to Integer (atoi) (字符串转成整数)】

[008-String to Integer (atoi) (字符串转成整数)] [LeetCode-面试算法经典-Java实现][所有题目目录索引] 原题 Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input cases. If you want a challenge, please do not see below and ask yourself what

字符串转成整数

题目:把一个字符串转换成整数. 考虑的问题: 1.空指针: 2.包含非数字字符: 3.包含正负号: 4.最大正整数: 5.最小负整数: 6.溢出(还没考虑) 代码: 1 package com.yyq; 2 import java.util.regex.Matcher; 3 import java.util.regex.Pattern; 4 5 /** 6 * Created by Administrator on 2015/9/4. 7 */ 8 public class StringToIn

String to Integer (atoi)---将字符串转变成整数

题目: Implement atoi to convert a string to an integer. ---- 实现atoi函数,此函数的功能是将一个字符串转换成一个整数. Hint: Carefully consider all possible input cases. If you want a challenge, please do not see below and ask yourself what are the possible input cases. Notes: I

把字符串换成整数

题目描述 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数. 数值为0或者字符串不是一个合法的数值则返回0 输入描述: 输入一个字符串,包括数字字母符号,可以为空 输出描述: 如果是合法的数值表达则返回该数字,否则返回0 输入例子: +2147483647 1a33 输出例子: 2147483647 0思路: 数字字符-48等于其本身的数值,如4='4'-48; public int StrToInt(String str) { if(str.equals("0")||s

字符串转化成整数

1 将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0), 要求不能使用字符串转换整数的库函数. 数值为0或者字符串不是一个合法的数值则返回0. 输入 +2147483647       1a33 输出 2147483647        0 class Solution { public: int StrToInt(string str) { int n = str.size(), s = 1; long long re

Python3基础 int()把合格字符串转化成整数

镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.------------------------------------------ ex1: code: myStrOfTrue='1' print(int(myStrOfTrue)) result: ============= RESTART: C:/Users/Administrator/Desktop/mytest.py ============= 1 >>>

C++系列: 如何将十六机制的字符串转成整数

bool convertHexStringToInt(char* pstrHex, unsigned long* pResult) { if(sscanf(pstrHex, “%x”, pResult) == 0) return false; else return true; }

【2014-11-19】字符串转化成整数

int StrToInt(const char* str) {     long long num = 0;     bool minus = false;     if (str != NULL && *str != '\0')     {         if (*str == '+')             str++;         else if (*str == '-')         {             str++;             minus = tr