簡體   English   中英

字符串中的Java字符為整數

[英]Java Character in String to integer

在檢測到該數字之前,一切似乎都是正確的。 數字1應該保持為1.它表示為10 11 12 13 14 15 16 1 2 3 4 5 6 7 8 9 0

A = 10且B = 11依此類推

我該如何糾正關注錯誤

String alpha = "ABCDEFG1234567890";

  for (int i = 0; i < alpha.length(); i++) {
            char c = alpha.charAt(i);
             int w = (int)c;
             System.out.println(w-55);
    }

輸出量

10 11 12 13 14 15 16 -6 -5 -4 -3 -2 -1 0 1 2 -7

您可以嘗試使用Character.isDigit()方法。 另請注意,您可以使用(int)cchar轉換為int

public static void main(String[] args) throws IOException
{
    String alpha = "ABCDEFG1234567890";

    for (int i = 0; i < alpha.length(); i++) {
        char c = alpha.charAt(i);

        if (Character.isDigit((c))) {
            System.out.println(c);
        } else {
            System.out.println((int)c - 55); // Cast to 'int'
        }
    }
}

輸出:

10
11
12
13
14
15
16
1
2
3
4
5
6
7
8
9
0
String alpha = "ABCDEFG1234567890";

for (int i = 0; i < alpha.length(); i++) {
    char c = alpha.charAt(i);
    int w = (int)c;
    if (w >= 65) {
        System.out.println(w-55);
    } else {
        System.out.println(w-48);
    }
}

使用返回int的Character.digit(c, 10)

 public static void main(String args[]) throws FileNotFoundException
   {

     String alpha = "ABCDEFG1234567890";

  for (int i = 0; i < alpha.length(); i++) 
  {
            char c = alpha.charAt(i);
   if(c>='1' && c<='9')  
          {
          System.out.print(c); 
          }
   else
         {
             int w = (int)c;
             System.out.print(w-55);
         }
  }

  }
public static void main(String[] args) {
    String alpha = "ABCDEFG1234567890";

      for (int i = 0; i < alpha.length(); i++) {
                char c = alpha.charAt(i);
                int w;
                 if(Character.isDigit(c)){
                     w =Character.digit(c, 10);
                 }else{
                    w = (int)c;
                     w=w-55;
                 }
                 System.out.println(w);
        }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM