如何将带有数组的字符串变量转换为带有数组的整数变量

时间:2015-12-24 06:57:31

标签: java arrays variables

我是java编程的新手。我试图将带有数组的字符串变量转换为int变量数组

但我有2个错误,并且无法修复它,

任何帮助都会很棒,谢谢..

这是我的源代码:

"You've been here. What would you rate us

This is what the errors look like

6 个答案:

答案 0 :(得分:4)

将一个stirng数组转换为整数数组时, 我们应该声明一个整数数组 并且在您发布的代码中存在一些语法错误,因为您在使用之前没有声明整数数组(int value [x])

并尝试下面的代码,它将字符串数组(字符串编号[])转换为数字的ineger数组(int value [])

import java.util.Scanner;

public class stringtoint {

    public static void main (String args[]) {
        Scanner in=new Scanner(System.in);
        String number[]=new String[100];
        int value[]= new int[100]; // here I declared an array of integers with the name value
        int sum=0;
        for(int x= 0;x <= 1; x++)
        {
            System.out.print("input number : ");
            number[x]=in.next();
            value[x]= Integer.parseInt(number[x]); // i found "expected here", what should i do, need help, please..
            sum=sum + value[x];
        }
        for(int x=0; x<=1; x++)
        {
            System.out.println("Data Number "+(x+1)+" : "+number[x]);   
        }
        System.out.println("Sum :\t "+sum); 
    }

}

答案 1 :(得分:1)

使用in.nextInt()方法。

Scanner in = new Scanner(System.in);
        int number[] = new int[100];
        int sum = 0;
        for (int x = 0; x <= 1; x++) {`enter code here`
            System.out.print("input number : ");
            number[x] = in.nextInt();
            sum = sum + number[x];
        }
        System.out.println("Sum :\t " + sum);
        in.close();
    }

答案 2 :(得分:0)

创建一个int数组,然后使用它。 int value[x]= Integer.parseInt(number[x]);是一个错误,因为您正在尝试为数组分配一个整数。

正确的可能是......

public static void main (String args[]) {
            Scanner in=new Scanner(System.in);
            String number[]=new String[100];
            int value[]= new int[100];
            int sum=0;
            for(int x=0;x<=1;x++)
            {
                System.out.print("input number : ");
                number[x]=in.next();
                value[x]= Integer.parseInt(number[x]);
                sum=sum+value[x];
            }

            for(int x=0;x<=1;x++)
            {
                System.out.println("Data Number "+(x+1)+" : "+number[x]);   
            }
                System.out.println("Sum :\t "+sum); 
        }

答案 3 :(得分:0)

您的示例代码中的变量声明和使用似乎存在问题。

  1. 变量x未初始化
  2. 为数组声明分配整数值。
  3. 尝试以下代码来解决您的问题。

    import java.util.Scanner;
    
    public class stringtoint {
    
        public static void main(String args[]) {
            Scanner in = new Scanner(System.in);
            String number[] = new String[100];
            int sum = 0;
    
            for (int x = 0; x <= 1; x++) {
                System.out.print("input number : ");
                number[x] = in.next();
                int value = Integer.parseInt(number[x]);
                sum = sum + value;
            }
    
            for (int x = 0; x <= 1; x++) {
                System.out.println("Data Number " + (x + 1) + " : " + number[x]);
            }
            System.out.println("Sum :\t " + sum);
            in.close();
        }
    }
    

答案 4 :(得分:0)

public static void main(String args[]) {
    String[] exampleOfStringArray = {"11", "22", "33"/*, "ab", "cd", "ef", "", null*/};
    int[] intArray = getIntArray(exampleOfStringArray);
    int sum = getSumOf(exampleOfStringArray);
}

private static int[] getIntArray(String... stringArray) /*throws NumberFormatException*/ {
    return Arrays.<String>asList(stringArray).stream().mapToInt(Integer::parseInt).toArray();
}

private static int getSumOf(String... stringArray) /*throws NumberFormatException*/ {
    return Arrays.<String>asList(stringArray).stream().mapToInt(Integer::parseInt).sum();
}

答案 5 :(得分:-2)

尝试以下代码,它正在运作。

public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    String number[] = new String[100];
    int sum = 0;
    int noOfInputs = 2;
    int value[] = new int[noOfInputs];
    for (int x = 0; x <= noOfInputs-1; x++) {
        System.out.print("input number : ");
        number[x] = in.next();
        value[x] = Integer.parseInt(number[x]);
        sum = sum + value[x];
    }
    for (int x = 0; x <= noOfInputs-1; x++) {
        System.out.println("Data Number " + (x + 1) + " : " + number[x]);
    }
    System.out.println("Sum :\t " + sum);

}