Java 将字符串存储到int[]数组中

Java 将字符串存储到int[]数组中,java,Java,我有一个字符串string strings=“100.122.323.344;543.433.872.438;218.544.678.322” 我想像这样存储到int[]中int[]={{100122323344},{543433872438},{218544678322} 下面是示例代码 public static void main(String[] args) { // TODO Auto-generated method stub String strings = "1

我有一个字符串
string strings=“100.122.323.344;543.433.872.438;218.544.678.322”
我想像这样存储到int[]中
int[]={{100122323344},{543433872438},{218544678322}
下面是示例代码

public static void main(String[] args) {
    // TODO Auto-generated method stub

    String strings = "100.122.323.344;543.433.872.438;218.544.678.322";
    strings = strings.replace(".", ",");
    System.out.println(strings);
    String[] coordinates = strings.split(";");
    String[] rect=null;
    int[] intcoordinates;
    for(int i=0;i<coordinates.length;i++)
    {
        //System.out.println(coordinates[i]);
        rect= coordinates[i].split(",");

        for(int j=0;j<rect.length;j++)
        {



        }

    }

}
publicstaticvoidmain(字符串[]args){
//TODO自动生成的方法存根
String strings=“100.122.323.344;543.433.872.438;218.544.678.322”;
字符串=字符串。替换(“.”,“,”);
System.out.println(字符串);
String[]坐标=strings.split(“;”);
字符串[]rect=null;
int[]int坐标;
对于(int i=0;i您可以使用

int intrect = Integer.parseInt(rect[j]);
将rect[j]转换为int

public static void main(String[] args) {
    // TODO Auto-generated method stub

    String strings = "100.122.323.344;543.433.872.438;218.544.678.322";
    strings = strings.replace(".", ",");
    System.out.println(strings);
    String[] coordinates = strings.split(";");
    String[] rect = null;
    int[][] intcoordinates = new int[3][4];  // initialize the size of the array
    for (int i = 0; i < coordinates.length; i++) {
        // System.out.println(coordinates[i]);
        rect = coordinates[i].split(",");        
        for (int j = 0; j < rect.length; j++) {
            intcoordinates[i][j] = Integer.parseInt(rect[j]);
        }
    }
}
publicstaticvoidmain(字符串[]args){
//TODO自动生成的方法存根
String strings=“100.122.323.344;543.433.872.438;218.544.678.322”;
字符串=字符串。替换(“.”,“,”);
System.out.println(字符串);
String[]坐标=strings.split(“;”);
字符串[]rect=null;
int[][]intcoordinates=new int[3][4];//初始化数组的大小
对于(int i=0;i

INT坐标包含[[100122323344]、[54343432872438]、[218544678322]]执行结束时。这是转换的最终结果。

初始化带有行和列的二维数组
intcoordinates
。如果不知道行大小,则应计算最大行大小。然后将
String
转换为
int
并分配给此数组

 int[][] intcoordinates=new int[coordinates.length][countMaxRow(coordinates)];
 for(int i=0;i<coordinates.length;i++){
    rect= coordinates[i].split(",");
    for(int j=0;j<rect.length;j++){
       intcoordinates[i][j]=Integer.parseInt(rect[j]);
    }
 }
 System.out.println(Arrays.deepToString(intcoordinates));
int[]intcoordinates=新的int[coordinates.length][countMaxRow(coordinates)];

对于(int i=0;i,从概念上讲,扫描仪和集合应该适合您:

        String strings = "100.122.323.344;543.433.872.438;218.544.678.322";
    Scanner scanner = new Scanner(new ByteArrayInputStream(strings.getBytes()));
    scanner.useDelimiter(";");
    List<List<Integer>> list = new ArrayList<>();

    while(scanner.hasNext())
    {
        Scanner scanner2 = new Scanner(new ByteArrayInputStream(scanner.next().getBytes()));
        scanner2.useDelimiter("\\D");
        List<Integer> lst = new ArrayList<>();
        while(scanner2.hasNextInt())
            lst.add(scanner2.nextInt());
        list.add(lst);  
    }
    System.out.println("Lists: ");
    for(List<Integer> lst : list)
        System.out.println(lst);
String strings=“100.122.323.344;543.433.872.438;218.544.678.322”;
Scanner Scanner=new Scanner(new ByteArrayInputStream(strings.getBytes());
scanner.useDelimiter(“;”);
列表=新的ArrayList();
while(scanner.hasNext())
{
Scanner scanner2=新扫描仪(新的ByteArrayInputStream(Scanner.next().getBytes());
扫描程序2.useDelimiter(\\D”);
List lst=new ArrayList();
while(scanner2.hasNextInt())
lst.add(scanner2.nextInt());
列表。添加(lst);
}
System.out.println(“列表:”);
对于(列表lst:List)
系统输出打印项次(lst);

首先,您想将值存储为int,您应该知道
{100122323344}、{543433872438}、{218544678322}
是一个二维数组,所以它是
int[][]
。然后数组必须是init,可以计算出行和列

    int[][] intcoordinates = new int[3][4]; // init the array, the row and the col can be figured.
    for(int i=0; i<coordinates.length; i++)
    {
        //System.out.println(coordinates[i]);
        rect = coordinates[i].split(",");
        for(int j=0; j<rect.length; j++)
        {
            intcoordinates[i][j] = Integer.parseInt(rect[j]);
        }

    }
    System.out.println(Arrays.deepToString(intcoordinates));
int[]intcoordinates=new int[3][4];//初始化数组时,可以对行和列进行配置。

对于(int i=0;iUse Integer.parseInt(),所以问题只是“如何将字符串转换为int”?您可以简单地得到一千个答案?为什么要用逗号替换每个句点?看起来非常不必要。但是如何获得输出,因为我期望int[]={{100122323344},{543433872438},{218544678322}intcoordinates应该是一个二维数组。在执行结束时,intcoordinates等于[[100122323344]、[5434343872438]、[218544678322]。这是您想要的数组。
    int[][] intcoordinates = new int[3][4]; // init the array, the row and the col can be figured.
    for(int i=0; i<coordinates.length; i++)
    {
        //System.out.println(coordinates[i]);
        rect = coordinates[i].split(",");
        for(int j=0; j<rect.length; j++)
        {
            intcoordinates[i][j] = Integer.parseInt(rect[j]);
        }

    }
    System.out.println(Arrays.deepToString(intcoordinates));