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

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

Java parseUnsignedInt(CharSequence s, int beginText, int endText, int radix)方法是java.lang包的Integer类的一部分。根据从传递的起始索引开始并扩展到传递的(结束索引- 1)的整数基数值分析传递的字符序列后,此方法返回等效的无符号整数。该方法没有采取措施防止CharSequence在解析时发生变异。

语法:

public static int parseUnsignedInt(CharSequence s, int beginIndex, int endIndex, int radix)

参数:

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

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

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

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 unsigned Integer value of the entered string in accordance with the radix and beginning and end index

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

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

3 36

例 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 unsigned Integer value of the entered string in accordance with the radix and beginning and end index

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

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


输入值 -45 输入基数 8 输入起始索引 0 输入结束索引 1 无法解析此值