zoukankan      html  css  js  c++  java
  • 字符串转换成整数

    1.字符串转换成整数,字符串都是char字符组成 1).ACSII 码型数字  2).输入特殊字符NULL,@或者非数字的字符 3).字符串中有正负号

    整体思路分为四部分:

         1.判断字符串是不是空的,这里用字符串的长度显示

        2).字符串中是否有空格

        3).判断输入首字符是—,+,规定转换后整数是正数还是负数

        4).只有数字型字符串才能转换,考虑是否发生溢出

      1 package Heap;
      2 
      3 public class StrToInteger {
      4 
      5     public static void main(String[] args) {
      6         // TODO Auto-generated method stub
      7         String S=" +1213";
      8         int Result=Atoi(S);
      9         
     10         if(isNULL)
     11         {
     12             System.out.println("输入字符串NULL");
     13         }
     14         else
     15         {
     16             if(ValidInput && !isOverFlow)
     17             {
     18                 System.out.println(Result);
     19             }
     20             
     21             if(ValidInput==false)
     22             {
     23                 System.out.println("输入字符串非法的");
     24             }
     25             
     26             if(isOverFlow)
     27             {
     28                 System.out.println("算法溢出");
     29             }
     30         }
     31     }
     32     
     33     static boolean ValidInput=true;/*判断输入字符串是合理吗*/
     34     static boolean isOverFlow=false;
     35     static boolean isNULL=false;
     36     public static int Atoi(String Str)
     37     {
     38         int Sign=1,index=0;int result=0;
     39         
     40         
     41         /*如果输入字符串是null,表示这个字符串长度为0*/
     42         
     43         if(Str.length()==0)
     44         {
     45             
     46             isNULL=true;
     47         }
     48         else
     49         {
     50             
     51             /*判断字符串是否合法输入或者是溢出*/
     52             while(index<Str.length())
     53             {
     54                 if(Str.charAt(index)==' ')
     55                 {
     56                             index++;
     57                     continue;
     58                             
     59                 }
     60                 else
     61                 {
     62                     
     63                     
     64                     /*判断符号*/
     65                     if(Str.charAt(index)=='+')
     66                     {
     67                         Sign=1;
     68                         index++;
     69                         
     70                     }
     71                     else if(Str.charAt(index)=='-')
     72                     {
     73                         Sign=-1;
     74                         index++;
     75                     }
     76                     
     77                     if(Str.charAt(index)<='9' && Str.charAt(index)>=0)
     78                     {
     79                         result=result*10+Str.charAt(index)-'0';
     80                         
     81                         /*防止输入的数发生溢出*/
     82                         if(result>Integer.MAX_VALUE || result<Integer.MIN_VALUE)
     83                         {
     84                             System.out.println("输入数据发生溢出");
     85                             isOverFlow=true;
     86                             break;
     87                         }
     88                     }
     89                     else
     90                     {
     91                         ValidInput=false;
     92                         System.out.println("输入字符串非法的");
     93                         
     94                         break;
     95                         
     96                     }
     97                 }
     98                 
     99                 index++;
    100             }
    101         }
    102         
    103         return Sign*result;
    104     }
    105     
    106 }
  • 相关阅读:
    最大子序和
    Linux中判断hdfs文件是否存在
    Python判断字符串是否为字母或者数字
    win10+1060显卡安装anaconda+CUDA10.1+pytorch+cuDNN+tensorflow-gpu
    Anaconda3+python3环境下如何创建python2环境(win+Linux下适用,同一个anaconda下py2/3共存)
    教你上传本地代码到github
    vue源码学习-vnode的挂载和更新流程
    学习 vue 源码 -- 响应式原理
    instanceof 操作符实现原理解析
    webapp开发要点记录
  • 原文地址:https://www.cnblogs.com/woainifanfan/p/6472933.html
Copyright © 2011-2022 走看看