如何将字符串数组更改为int数组?

时间:2017-01-08 14:32:33

标签: java arrays validation parsing for-loop

我正在制作一个通过用户输入存储运动得分和匹配的代码,但是我使用了一个字符串数组来存储字符串和int值 - 虽然这一开始似乎不是问题我已经意识到验证变得单调乏味因为你可以将一个字符串存储在"得分"部分,即使它不正确。

我希望另外记录每个团队得分的数量,但我不能将两个字符串加在一起得到一个int值,这就是我的问题。

用户输入如下所示;

Home_Team:Away_Team:Home_得分:客场得分

我希望能够添加所有Away / Home分数以产生类似的输出;

总分:x

总分数:x

到目前为止,这是我的for循环,

for (int i = 0; i < counter; i++) { // A loop to control the Array
    String[] words = football_list[i].split(":"); // Splits the input
    if (words.length == 4) {
    System.out.println(words[0].trim() + " [" + words[2].trim() + "]" + " | " + words[1].trim() + " ["+ words[3].trim() + "]"); 
    }else{
    System.out.println("Your input was not valid.");
    matches--;
    invalid++;

我的新代码的逻辑将是&#34;如果Element []不包含int值print&#34;无效输入&#34;

2 个答案:

答案 0 :(得分:3)

“我希望另外记录每个团队得分的数量,但我不能将两个字符串加在一起得到一个int值,这就是我的问题。”

要从String生成整数,请使用:

    int x = Integer.parseInt( some_string );

答案 1 :(得分:0)

Java将字符串拆分为整数数组示例

public class Test {
       public static void main(String[] args) {
                   String sampleString = "101,203,405";
                    String[] stringArray = sampleString.split(",");
                     int[] intArray = new int[stringArray.length];
                     for (int i = 0; i < stringArray.length; i++) {
                       String numberAsString = stringArray[i];
                        intArray[i] = Integer.parseInt(numberAsString);
                      }
                     System.out.println("Number of integers: " + intArray.length);
                     System.out.println("The integers are:");
                     for (int number : intArray) {
                        System.out.println(number);
                     }
                  }
               }

以下是代码的输出:

Number of integers: 3
The integers are:
101
203
405