string转int数组排序出错。

img


为什么会出现这种错误?转型和排序应该都没有错误啊。搞不清楚来个人帮忙解答一下。

应该是第5行代码那里的空格没输入,把第5行 String[] strArray = s.split(""); 改为 String[] strArray = s.split(" ");
里面加上空格。

import java.util.Arrays;

public class sassa{
    
    public static void main(String[] args) {
        
        String s = "91 27 86 95 52 65";
        String[] strArray = s.split(" ");
        int [] arr = new int[strArray.length];
        for(int i=0;i<arr.length;i++) {
            arr[i]=Integer.parseInt(strArray[i]);
        }
        
        Arrays.sort(arr);
        StringBuilder sb  = new StringBuilder();
        for(int i=0;i<arr.length;i++) {
            if(i==arr.length-1) {
                sb.append(arr[i]);
            }else{
                sb.append(arr[i]).append(" ");
            }
        }
        
        String a = sb.toString();
        System.out.println("a: "+a);
        
    }
}

img

兄弟 你这个字符串是以空格为间隔的 你注意你的split方法的参数 双引号之间加个空格


   public static void main(String[] args) {
        String str = "12 45 36 78 98 52 45";
        String[] strings = str.split(" ");
        int[] nums = new int[strings.length];

        for (int i = 0; i < strings.length; i++) {
            nums[i] = Integer.parseInt(strings[i]);
        }

        Arrays.sort(nums);
        for (int j = 0; j < nums.length; j++){
            System.out.println(nums[j]);
        }
    }