-2

那里。我在java编程方面遇到了一些麻烦

**有人可以给我一个提示,使用哪种方法

string= "23578893762467290465" convert to array y= [2,3,5,7]....??** 

我的意思是,例如 y[0]=2, y[1]=3, y[2]=5....

提前致谢

4

4 回答 4

2

将 String 转换为整数数组。

String string= "23578893762467290465";
int[] intArray = new int[string.length()];
for(int i = 0; i<string.length(); i++){
    intArray[i] = Integer.parseInt(String.valueOf(string.charAt(i)));
}
于 2013-02-14T10:25:38.940 回答
2
String.toCharArray()

从官方文档

它返回一个新分配的字符数组,它的长度就是这个字符串的长度,并且它的内容被初始化为包含这个字符串表示的字符序列。

于 2013-02-14T10:24:11.873 回答
0
public class StringToInt{
public int[] convert(String arg){
    char[] characters = arg.toCharArray();
    int[] integers = new int[arg.length()];

    for ( int i = 0; i < characters.length; i++ ) 
        integers[i] = Character.getNumericValue(characters[i]);  

    return integers;
}

private void prettyPrint(int[] result){
    System.out.print("array: ");
    for(int i : result){
        System.out.print(i+" ");
    }
}

public static void main(String[]args){
    StringToInt converter = new StringToInt();
    int[] result = converter.convert(args.length > 0?args[0]: "23578893762467290465" );
    converter.prettyPrint(result);
}
}

好吧,人们打败了我。但这会奏效。

在本质上:

  • 转换为字符数组。
  • 为每个字符调用Character.getNumericValue() 。
于 2013-02-14T11:08:28.370 回答
0

另一种方式可能是:

int[] arr = new int[string.length()];

for(int i = 0; i<string.length(); i++){
    arr[i] = Character.getNumericValue(string.charAt(i));
    System.out.println(arr[i] + "  ") ;
}
于 2013-02-14T11:23:21.483 回答