将字符串存储在整数数组中。

时间:2012-03-22 16:06:18

标签: java

我正在尝试使用以下代码将字符串存储到整数数组中:

public LargeInteger(String s) {      
    for (int i = 0; i < s.length(); i++) {
        intArray[i] =  Integer.parseInt( s.charAt(i));
    }
}

eclipse给我一个错误说:方法parseInt(string)不适用于参数(char)

我做错了什么?

6 个答案:

答案 0 :(得分:6)

您需要解析char,或将其转换为String

如果您一次尝试获得一位数,并且您知道输入数字是一个数字,那么将单个数字转换为int的最简单方法就是

intArray[i] = Character.digit(s.charAt(i), 10); // in base 10

如果您想继续使用Integer.parseInt,请执行

intArray[i] = Integer.parseInt(String.valueOf(s.charAt(i)));
// or
intArray[i] = Integer.parseInt(s.substring(i, i+1));

答案 1 :(得分:1)

这是因为Integer.parseInt()期望String作为参数,而您传递chars.charAt()会返回char)。

由于您一次创建一个数字的数组,获得十进制表示的更好方法是:

intArray[i] = s.charAt(i) - '0';

答案 2 :(得分:0)

char不是String,因此请使用子字符串函数s.substring(i, i+1)或更好intArray[i] = s.charAt(i)

答案 3 :(得分:0)

s.charAt返回一个字符。 + parseInt获取String = Eclipse为您提供编译错误

如果确实需要,您可以从char创建一个String:

s.charAt(i)+""

答案 4 :(得分:0)

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

答案 5 :(得分:0)

public class Storing_String_to_IntegerArray 
{

    public static void main(String[] args) 
    {
        System.out.println(" Q.37 Can you store string in array of integers. Try it.");

        String str="I am Akash";
        int arr[]=new int[str.length()];
        char chArr[]=str.toCharArray();
          char  ch;
        for(int i=0;i<str.length();i++)
        {

            arr[i]=chArr[i];
        }
        System.out.println("\nI have stored it in array by using ASCII value");
        for(int i=0;i<arr.length;i++)
        {

            System.out.print(" "+arr[i]);
        }
        System.out.println("\nI have stored it in array by using ASCII value to original content");
        for(int i=0;i<arr.length;i++)
        {
             ch=(char)arr[i];

            System.out.print(" "+ch);
        }
    }

}