java - 将包含空格和数字的字符串转换为仅包含数字的 int 数组

标签 java arrays char data-conversion

我想将 String lotto int 转换为整数数组。 String Lotto 由一定数量的1到99之间的数字组成,并且只由1位和2位数字组成。 (例如:字符串乐透可能看起来像“1 34 5 23 7 89 32 4 10 3 6 5”。)

我试图通过将 String 转换为 char[],然后将 char[] 转换为 int[] 来解决问题。我将其转换为 char[] 的逻辑是可以为 int[] 格式化数字。

这是我目前所拥有的:

public static int[] conversion(String lotto)
{
    char[] c = lotto.toCharArray();
    int[] a = new int[c.length];
    for(int i = 0, j = 0; i < c.length; i++)
    {
        if(c[i] != ' ' && c[i+1] != ' ')
        {
            a[j] = c[i] + c[i+1];
            i+=2;
            j++;
        }
        else if(c[i] != ' ' && c[i+1] == ' ')
        {
            a[j] = c[i];
            i++;
            j++;
        }
    }
    return a;
}//end of conversion method

我仍在处理程序的其余部分,但我知道 c[i] + c[i+1] 会返回一个 ASCII 值或一个不同的 int,而不是将两个字符组合在一起(我想要的示例: '3' + '4' = 34.)

我该如何解决这个问题?

最佳答案

如果您不关心转换为字符数组,那么您可以使用 .split() 方法

    String[] nums = lotto.split(" ");
    int[] a = new int[nums.length];
    for(int i = 0; i < a.length; i++)
    {
        a[i] = Integer.parseInt(nums[i]);
    }
    return a;

关于java - 将包含空格和数字的字符串转换为仅包含数字的 int 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26643189/

相关文章:

java - HOUR_OF_DAY 为值 0 和 1 设置相同的小时

c++ - 如果我知道只使用现有元素,我可以在数组开头之前传递一个指针吗?

Java - Hangman 游戏 - StringBuffer 变量上的 charAt 问题

java - 如何获取字符串数组中字符的索引位置

linux - `echo` (shell bash) 发送整数值,而不仅仅是字符和字符串。是否可以?

java - 除非我对其调用append(),否则JTextArea不会显示

java - 如何获取目录和子目录中的所有文本文件?

java - Intellij 在编译期间看不到一些非公共(public) JDK 9 类

arrays - 如果 NSDecimalNumber 大于 Uint64,如何将 NSDecimalNumber 转换为字节数组?

c++ - 使用平面数组访问多维数组数据