Java Character.digit()方法

原文:https://www.studytonight.com/java-wrapper-class/java-character-digit-char-radix-method

Java digit()方法是Character类的一部分。此方法返回字符的数值。必须注意的是,如果:

  • 基数不在MIN_RADIX<=radix<=MAX_RADIX范围内,或者
  • ch 的值不是特定基数的有效数字,则返回 1

此外,如果以下至少一点为真,则字符是有效的数字:

  • 方法isDigit()对于字符为真,Unicode 十进制小于指定的基数。在这种情况下,返回十进制数字值。
  • 如果字符是大写字母“A”到“Z”之一,并且其代码小于基数,则对于+“A”,返回-10,对于“A”,返回+10。
  • 如果字符是小写字母“a”到“z”之一,并且其代码小于基数,则对于+“a”,返回-10,对于“-a”,返回+10。

语法:

public static int digit(char ch, int radix)

参数:

传递的参数是转换的char ch和为转换提供基础的int radix

返回:

返回由指定索引处的字符表示的数值。

例 1:

这里,返回相对于指定索引的指定字符的数值。

import java.util.Scanner; 
import java.lang.Character;
public class StudyTonight 
{  
    public static void main(String[] args) 
    {      
        char ch1 = 'A';  
        char ch2 = '8';          
        int a = Character.digit(ch1, 8);  
        int b = Character.digit(ch2, 16);         
        System.out.println("The numeric value of " + ch1 + " in radix 8 is :"+a);  
        System.out.println("The numeric value of " + ch2  + " in radix 16 is :"+b);             
     }  
}

基数 8 中 A 的数值为:-1 基数 16 中 8 的数值为:8

例 2:

这里有一个例子,用户可以输入他的选择,并获得所需的输出。

import java.util.Scanner; 
import java.lang.Character;
public class StudyTonight 
{  
    public static void main(String[] args) 
    {      
        try
        {
            System.out.print("Enter character:");  
            Scanner sc = new Scanner(System.in);  
            char[] ch = sc.nextLine().toCharArray();  
            System.out.print("Enter radix:");  
            int radix = sc.nextInt();        
            for (char charval : ch) 
            {  
                int digit = Character.digit(charval, radix);  
                System.out.println("The numeric value is: " + digit);  
            }
        } 
        catch(Exception e)
        {
            System.out.println("Invalid input");  
        }
    }  
}

输入字符:今晚学习 输入基数:4 数值为:-1 数值为:-1 数值为:-1 数值为:-1 数值为:-1 数值为:-1 数值为:-1 数值为:-1 数值为:-1 数值为:-1 数值为:-1 数值为

实时示例:

在这里,您可以测试实时代码示例。您可以为不同的值执行示例,甚至可以编辑和编写您的示例来测试 Java 代码。