重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
public class SortNumString {//定义SortNumString方法 public static String[] sortNumStr(String numStr){// 定义一个String[](数组)为返回值的类并且带参数(String numStr) if(numStr==null||numStr.trim().equals(""))//if判断如果numStr为空值 return null; //就返回(return)空(null) StringTokenizer mToken = new StringTokenizer(numStr);//定义变量 String[] result = new String[mToken.countTokens()];//实例化变量把它赋给一个数组 int i = 0;//定义i while(mToken.hasMoreTokens()){ //进行while循环 result[i] = mToken.nextToken();//从i即0开始从数组取值 i++;//每取出一个值就自增+1取下个值 } return result;//返回这组值 } public static void main(String[] args){//主方法 String[] s = sortNumStr("99 345 8 888 55 0 -9999 30");//为这个数组赋值 int[] ii = new int[s.length];//定义数组ii规定长度为String[] result数组的个数 for(int i = 0;iii.length;i++ ){//进行for循环 定义i,并且i小于int[] ii数组的长度,每循环一次自增一次i++ ii[i] = Integer.parseInt(s[i]); //为int[]赋值并强转为Integer类型 } Arrays.sort(ii);//对指定的数进行排序 //ASC for(int i = 0; i ii.length;i++){//循环输出int[] ii数组的值 if (i 0) {//如果i0 System.out.print(" ");//则输出“ ” } System.out.print(ii[i]);//否则输出int[] ii数组的值 } /* //DESC for(int i = s.length -1;i=0;i--){ if (i s.length-1) { System.out.print(" "); } System.out.print(ii[i]); }*/ } }
创新互联是一家专业提供同仁企业网站建设,专注与做网站、成都网站建设、H5技术、小程序制作等业务。10年已为同仁众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。
冒泡排序
public static void main(String[] args) {
int [] num=new int[3];
num[0]=23;
num[1]=45;
num[2]=22;
System.out.println("数组排序前为");
for(int i=0;inum.length;i++){
System.out.print (num[i]+" ");
}
int temp;
for(int i=0;inum.length;i++){
for(int j=0;jnum.length-i-1;++j){
if(num[j]num[j+1]){
temp=num[j];
num[j]=num[j+1];
num[j+1]=temp;
}
}
}
System.out.println("\n输出数组升序后为");
for(int i=0;inum.length;i++){
System.out.print(num[i]+" ");
}
}
/**
* str(需要排序的字符串),desc(true:从小到大,false:从大到小)
* @param str
* @param desc
*/
public static void stringSort(String str,boolean desc){
char[] array=str.toCharArray();
if(desc){//从小到大排序
for (int i = 0; i array.length; i++) {
for(int j=0;jarray.length-i-1;j++){
if(array[j]array[j+1]){
char temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
System.out.print("从小到大:");
for (int i = 0; i array.length; i++) {
if(i==array.length-1){
System.out.println(array[i]);
}else{
System.out.print(array[i]+",");
}
}
}else{
for (int i = 0; i array.length; i++) {
for(int j=0;jarray.length-i-1;j++){
if(array[j]array[j+1]){
char temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
System.out.print("从小到大:");
for (int i = 0; i array.length; i++) {
if(i==array.length-1){
System.out.println(array[i]);
}else{
System.out.print(array[i]+",");
}
}
}
}
思路如下:
1,录入字符串
2,使用正则表达式分割
3,转换为int数组
4,排序
5,拼接,代码如下:
import java.util.Arrays;
import java.util.Scanner;
public class Demo8 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();// 录入字符串
String[] strs = str.split(",");// 使用正则表达式进行分割
int[] is = new int[strs.length];
for (int i = 0; i strs.length; i++) {// 遍历String数组,赋值给int数组
is[i] = Integer.parseInt(strs[i]);
}
Arrays.sort(is);// 使用数组工具类进行排序,也可以自己使用冒泡或选择排序来进行排序
StringBuffer sb = new StringBuffer();
for (int i = 0; i is.length; i++) {// 遍历进行拼接
if (i == is.length - 1) {
sb.append(is[i]);
} else {
sb.append(is[i] + ",");
}
}
System.out.println(sb.toString());
}