Java Integer.parseInt (CharSequence, int, int, int)方法

原文:https://www.studytonight.com/java-wrapper-class/java-integer-parseint-charsequence-method

Java parseInt (CharSequence s, int beginText, int endText, int radix)方法是java.lang包的Integer类的一部分。根据从传递的起始索引开始并扩展到传递的(结束索引- 1)的整数基数值分析传递的字符序列后,此方法返回等效的有符号整数。

语法:

public static int parseInt(CharSequence s, int beginIndex, int endIndex, int radix) throws NumberFormatException

参数:

传递的参数是:

CharSequence s:需要解析的字符序列。

int beginIndex:开始解析的字符序列的索引。

int endIndex:字符序列的索引,直到解析将扩展到的地方。

int radix:传递字符序列所依据的整数值。

返回:

根据从开始索引开始并延伸到结束索引-1 的整数基数,返回解析字符序列后获得的等效整数值。

例外:

NullPointerException:当输入字符为空时,出现此异常。

NumberFormatException : 当输入字符序列不可解析时,会出现此异常。

IndexOutOfBoundsException:当开始索引为负,或者开始索引值大于结束索引值,或者结束索引值大于 s.length()时,会出现此异常。

例 1:

这里,在这个例子中,解析后的字符序列的有符号整数值被返回。

import java.lang.Integer;

public class StudyTonight
{  
        public static void main(String[] args)throws NumberFormatException 
        { 
            CharSequence s1 = "332";
            CharSequence s2 = "-442";
            int radix = 8;  
            //returns the signed Integer value of the entered string in accordance with the radix and beginning and end index

            int res1=Integer.parseInt(s1, 0,1,radix);
            System.out.println(res1); 

             int res2=Integer.parseInt(s2,0,2,radix);
            System.out.println(res2);  

        }  

}

3 -4

例 2:

这里有一个用户定义的例子,任何使用这段代码的人都可以输入自己选择的值,并获得等效的输出。

import java.lang.Integer;
import java.util.Scanner;

public class StudyTonight
{  
   public static void main(String[] args)
    { 
          try
            {
            System.out.println("Enter value");
            Scanner sc = new Scanner(System.in);

              CharSequence s1 = sc.nextLine();
              System.out.println("Enter radix");
            int radix = sc.nextInt();
              System.out.println("Enter start index");
            int si =sc.nextInt();
              System.out.println("Enter end index");
            int ei = sc.nextInt();
            //returns the signed Integer value of the entered string in accordance with the radix and beginning and end index

            int res1=Integer.parseInt(s1,si,ei,radix);
            System.out.println(res1); 
           }  
            catch(Exception e)
             {
              System.out.println("Cannot parse this value");
             }

    }  

}

输入值 505 输入基数 8 输入起始索引 0 输入结束索引 2 40

                                                                • T10】输入值 595 输入基数 2 输入起始索引 0 输入结束索引 4 无法解析此值