自己的一点想法,基本和楼上一致。
- /*
- 需求:
- 有一个字符串
- 请你想办法,把这个字符串变成如下字符串:“23 54 60 71 98“。
- 思路:1.定义字符串存放目标字符串;
- 2.以空格切割字符串并转存为int型数组;
- 3.排序
- 4.将排列好的数字再转存为字符串
- 5.将字符串调整为要求的格式
- */
- class StringToInt
- {
- public static void main(String[] args)
- {
- String s = "23 98 71 54 60";//定义s存放原字符串
-
- String[] arrS = new String[5];//定义字符数组,存放切割之后的字符串
- arrS = s.split(" ");//切割字符串,存储在字符串数组中
- int[] arr = new int[5];//定义int型数组
-
- //将切割后的字符串转化成数字
- for (int i=0;i<5 ;i++ )
- {
- arr[i] = Integer.parseInt(arrS[i]);
- }
- //输出转化后的数字
- for (int i=0;i<arrS.length ;i++ )
- {
- System.out.println(arr[i]);
- }
- System.out.println("---------------");
- //对切割后的数字排序,for循环嵌套
- for(int i=0;i<arr.length;i++)
- {
- for (int j=0;j<arr.length ;j++ )
- {
- if (arr[i]<arr[j])
- {
- int temp = arr[i];
- arr[i] = arr[j];
- arr[j] = temp;
- }
- }
-
- }
- //输出排序后的数字
- for (int i=0;i<arr.length;i++ )
- {
- System.out.println(arr[i]);
- }
- //创建字符串缓冲区
- StringBuffer sb = new StringBuffer();
- //将排好序的数字加入到缓冲区
- for (int i=0;i<arr.length;i++ )
- {
- if(i==0||i==arr.length-1)
- sb.append(arr[i]);
- else
- sb.append(" "+arr[i]+" ");
- }
- //将缓冲区的字符串存入字符串变量
- String s1 = new String(sb.toString());
- System.out.println("---------------");
- System.out.println(s1);
- }
- }
复制代码
希望对你有用~~ |