我試圖將一個字符串存儲到一個整數數組用下面的代碼:將字符串存儲在整數數組中。
public LargeInteger(String s) {
for (int i = 0; i < s.length(); i++) {
intArray[i] = Integer.parseInt(s.charAt(i));
}
}
日食是給我一個錯誤說:該方法parseInt函數(字符串)是不適用的參數(炭)
我做錯了什麼?
我試圖將一個字符串存儲到一個整數數組用下面的代碼:將字符串存儲在整數數組中。
public LargeInteger(String s) {
for (int i = 0; i < s.length(); i++) {
intArray[i] = Integer.parseInt(s.charAt(i));
}
}
日食是給我一個錯誤說:該方法parseInt函數(字符串)是不適用的參數(炭)
我做錯了什麼?
您需要解析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));
字符不是一個字符串所以使用一個子功能s.substring(i, i+1)
或更好intArray[i] = s.charAt(i)
s.charAt
返回一個字符。 + parseInt
採取String
= Eclipse中爲您提供了編譯錯誤
您可以創建從焦炭一個字符串,如果真的需要:
s.charAt(i)+""
String[] split = s.split("");
int[] nums = new int[split.length];
for(int i = 0; i < split.length; i++){
nums[i] = Integer.parseInt(split[i]);
}
這是因爲Integer.parseInt()
需要一個String
作爲參數,而你正在通過一個char
(s.charAt()
返回一個char
)。
因爲要創建在一個時間數組中的一個數字,一個更好的方式來獲得十進制表示是:
intArray[i] = s.charAt(i) - '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);
}
}
}
感謝,這是有道理的,但我仍然很可能是因爲得到一個錯誤別的我做錯了.. – Sackling 2012-03-22 17:09:49