在java中将字符串数组中的选择性元素转换为其ascii值

在java中将字符串数组中的选择性元素转换为其ascii值,java,Java,我目前正在做一个项目,我有一个8个值的字符串数组,这些值都是数字,但存储为字符串。字符串[3]和字符串[7]是存储为字符串的字母,我需要将它们转换为ASCII值,但在java中我似乎无法做到这一点。我一直收到一个错误,说我无法将字符串类型转换为int类型,我不知道还有什么其他方法可以将这些字符串字母转换为ASCII值。这是我到目前为止的代码 String stringInfo [] = input.split(","); int info [] = new int [8]; in

我目前正在做一个项目,我有一个8个值的字符串数组,这些值都是数字,但存储为字符串。字符串[3]和字符串[7]是存储为字符串的字母,我需要将它们转换为ASCII值,但在java中我似乎无法做到这一点。我一直收到一个错误,说我无法将字符串类型转换为int类型,我不知道还有什么其他方法可以将这些字符串字母转换为ASCII值。这是我到目前为止的代码

String stringInfo [] = input.split(",");
    int info [] = new int [8];
    int x = 0;
    while (x<stringInfo.length) {
        info[x] = Integer.parseInt(stringInfo[x]);
        System.out.println(info[x]);
        x++;
    }
String stringInfo[]=input.split(“,”);
int info[]=新int[8];
int x=0;

while(x这是一个使用ascii码将无符号数字字符串转换为整数的函数:

static int stringToNumber(String input) {
    int output = 0;
    for (int x = 0; x < input.length(); x++) {
        output = output * 10 + (input.charAt(x) - '0');

    }
    return output;
}
以及您的代码:

String stringInfo [] = input.split(",");
    int info [] = new int [8];
    int x = 0;
    while (x<stringInfo.length) {
        info[x] = Integer.valueOf(stringInfo[x]);
        System.out.println(info[x]);
        x++;
}
String stringInfo[]=input.split(“,”);
int info[]=新int[8];
int x=0;

while(x这是一个使用ascii码将无符号数字字符串转换为整数的函数:

static int stringToNumber(String input) {
    int output = 0;
    for (int x = 0; x < input.length(); x++) {
        output = output * 10 + (input.charAt(x) - '0');

    }
    return output;
}
以及您的代码:

String stringInfo [] = input.split(",");
    int info [] = new int [8];
    int x = 0;
    while (x<stringInfo.length) {
        info[x] = Integer.valueOf(stringInfo[x]);
        System.out.println(info[x]);
        x++;
}
String stringInfo[]=input.split(“,”);
int info[]=新int[8];
int x=0;

而(x最好的方法是首先将字符串转换为字符,然后将字符转换为int。我知道这听起来很复杂,但实际上只有一行代码

int ascii = (int) mystring.charAt(0);

这项工作的原因是字符(char)是Java中的主要类型,它们本质上只是位,这就是为什么可以使用==而不是.equals来比较字符。

最好的方法是首先将字符串转换为字符,然后将字符转换为int。我知道这听起来很像,但实际上只有一行代码

int ascii = (int) mystring.charAt(0);
之所以这样做,是因为字符(char)是Java中的主要类型,它们本质上只是位,这就是为什么您可以使用==而不是.equals来比较字符。

您可以尝试-

String stringInfo [] = input.split(",");
int info [] = new int [8];

int x = 0;
    while (x<stringInfo.length) {
        info[x] = stringInfo.charAt(x);
        System.out.println(info[x]);
        x++;
    }
String stringInfo[]=input.split(“,”);
int info[]=新int[8];
int x=0;
而(x你可以试试-

String stringInfo [] = input.split(",");
int info [] = new int [8];

int x = 0;
    while (x<stringInfo.length) {
        info[x] = stringInfo.charAt(x);
        System.out.println(info[x]);
        x++;
    }
String stringInfo[]=input.split(“,”);
int info[]=新int[8];
int x=0;

虽然(X请给我们看一些输入和输出示例。这里一张图片相当于千言万语。你能显示输入/输出数据和你收到的错误吗?字符串数组中的元素在java中的ascii值。我想你想要的是整数数据,而不是ascii码!请给我们看一些输入和输出示例。一张图片相当于一个t。)HousandWords here.您能显示输入/输出数据和收到的错误吗?字符串数组中的元素在java中的ascii值。我想您想要的是整数数据,而不是ascii码!函数工作得很好,谢谢!您能解释为什么必须执行-'0'吗?因为ascii码中的数字是连续的。在每个另一个第一个是零“0”,在零“1”之后…“9”当你想得到ASCII字符的值时,只能用-0来做,这意味着零现在不是ASCII中的零,而是零和“1”=“0”+1减去“0”提醒1和其他…函数工作得很好,谢谢!你能解释一下为什么要用-0吗?因为在ASCII中代码编号是连续的。彼此之后第一个是零“0”,在零“1”之后……“9”当想要获取ASCII字符的值时,只能使用-“0”来完成,这意味着零现在不是ASCII中的零,而是零和“1”=“0”+1减去“0”时提醒1和其他。。。