简体   繁体   English

如何在java中的char数组中添加整数元素

[英]how to add integer elements in char array in java

String st="1a2b3j4";

char ar[]=st.toCharArray();

int sum=ar[0]+ar[2];//how to add the numbers

when i try to add its taking ASCII values当我尝试添加它的 ASCII 值时

how to convert chat'1' to integer如何将聊天'1'转换为整数

您只需将字符转换为字符串,然后使用如下内容:

int sum = Integer.parseInt(stringNum1) + Integer.parseInt(stringNum2);

Are you looking for this?你在找这个吗?

String st = "1a2b3j4";
char ar[] = st.toCharArray();
int sum = 0;
for (int i = 0; i < ar.length; i++) {
    sum += (ar[i] - '0');
}
System.out.println(sum); // prints 167 (1 + 49 + 2 + 50 + 3 + 58 + 4)

If you want to consider the ASCII value for the alphabets but the numeric digits itself, then you can try as following.如果您想考虑字母的 ASCII 值但数字本身,那么您可以尝试如下。

String st = "1a2b3j4";
char ar[] = st.toCharArray();
int sum = 0;
for (int i = 0; i < ar.length; i++) {
    if (ar[i] >= '0' && ar[i] <= '9') {
        sum += (ar[i] - '0');
    } else {
        sum += ar[i];
    }
}
System.out.println(sum); // prints 311 (1 + 97 + 2 + 98 + 3 + 106 + 4)

Note that, ASCII values for 1,a,2,b,3,j,4 are 49,97,50,98,51,106,52 .请注意, 1,a,2,b,3,j,4 ASCII 值是49,97,50,98,51,106,52

If you want to convert character ASCII numeric value, just cast your char as an int如果要转换字符 ASCII 数值,只需将charint

like char character = arr[0];    
int asciiValue = (int) character;

just add (int) at the beginning of each array elements.只需在每个数组元素的开头添加 (int)。 ie int sum=(int)ar[0]+(int)ar[2];即 int sum=(int)ar[0]+(int)ar[2]; hope this helps;希望这可以帮助;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM