1. <tt id="5hhch"><source id="5hhch"></source></tt>
    1. <xmp id="5hhch"></xmp>

  2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

    <rp id="5hhch"></rp>
        <dfn id="5hhch"></dfn>

      1. Java認證基礎知識:java字符串轉化整型問題

        時間:2024-07-21 17:01:36 JAVA認證 我要投稿
        • 相關推薦

        Java認證基礎知識:java字符串轉化整型問題

          java 字符串轉化整型問題

        Java認證基礎知識:java字符串轉化整型問題

          public class StringParesInteger {

          /**

          * @param args

          */

          public static void main(String[] args) {

          // TODO Auto-generated method stub

          System.out.println(Integer.MIN_VALUE);

          System.out.println(Integer.MAX_VALUE/10);

          System.out.println(pareseInt("="));

          }

          /**本題考查的主要是邊界條件

          * 1.穿入的字符串是否為空

          * 2.字符串的首位是否為(+、-)

          * 3.字符中是否有非法字符

          * 4.穿入的字符串是否超過了整數的最大值(Integer.MAX_VALUE(2147483647)/Integer.MIN_VALUE(-2147483648))

          *

          * @param data

          * @return

          */

          public static int pareseInt(String data){

          /*

          * 判讀穿傳入的字符串是否為空

          */

          if(data==null||data.length()==0){

          throw new NullPointerException("data is null");

          }

          int index=0;

          /**

          *

          */

          //是否為負數

          boolean isPositive=true;

          // 臨界值

          int limit = 0;

          //取出字符串的第一位

          char first=data.charAt(0);

          //第一位是負數的情況下

          if(first=='-'){

          isPositive=false;

          index++;

          //設置整形最小的負數(-2147483648)

          limit=-Integer.MIN_VALUE;

          }

          //第一位是整數的情況下

          if(first=='+'){

          isPositive=true;

          //設置最大的正數是(2147483647)

          limit=Integer.MAX_VALUE;

          index++;

          }

          //設置比較的邊界值(214748364)

          int maxLimit=Integer.MAX_VALUE/10;

          int length=data.length();

          int result=0;

          while(index'0'&&ch<'9'){

          //先判斷原來的值是否大于比較的臨界值

          if(result>maxLimit){

          throw new RuntimeException("整數越界了");

          }

          // 判斷當前位的值+ch的值是否》整數的最大值

          if(result*10>limit-(ch-'0')){

          System.out.println("result-->"+(result*10));

          System.out.println("max----->"+(Integer.MAX_VALUE));

          System.out.println("result-->"+(Integer.MAX_VALUE-(ch-'0'))+" ch="+(ch-'0'));

          throw new RuntimeException("數組越界了s ");

          }

          index++;

          result=result*10+(ch-'0');

          }else{

          throw new RuntimeException("不是整數 ");

          }

          }

          //三目運算符

          return isPositive?result:-result;

          }

          }

        【Java認證基礎知識:java字符串轉化整型問題】相關文章:

        JAVA認證基礎知識:Java獲取當前的系統時間03-18

        sun認證java關于字符串處理技巧03-29

        JAVA認證基礎知識:JavaNativeInterface學習小結01-11

        JAVA認證簡介03-19

        SUN JAVA認證介紹12-18

        JAVA認證考試細則03-19

        java認證考試介紹03-19

        Java的基礎知識07-27

        JAVA認證開源技術:關于Java的對象equals方法03-04

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码

        1. <tt id="5hhch"><source id="5hhch"></source></tt>
          1. <xmp id="5hhch"></xmp>

        2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

          <rp id="5hhch"></rp>
              <dfn id="5hhch"></dfn>