[英]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)c
將char
轉換為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.