3)字符串由多个数字字符串和空格组成,如:
String str="99 345 8 888 55 0 -9999 30";
请编写将字符串中数字字符串按数值大小升序排序,组成新的字符串:
例如,以上例中的str作为参数,返回结果:"-9999 0 8 30 55 99 345 888" 提示:StringTokenizer
我写了一个例子,但是想用命令行穿参数不太会,大家帮忙看看 谢谢
public class B{
public static void sortNumStr(String arg){
String[] args=arg.split(" ");
for(int i=0;i<args.length;i++){
for(int j=0;j<args.length-i-1;j++){
int a=Integer.parseInt(args[j]);
int b=Integer.parseInt(args[j+1]);
if(a>b){
a=a^b;
b=a^b;
a=a^b;
}
args[j]=String.valueOf(a);
args[j+1]=String.valueOf(b);
}
}
for(int i=0;i<9;i++){
System.out.print(args[i]+",");
}
}
public static void main(String[] args)
{
sortNumStr("99 345 8 888 55 0 -9999 30");
}
}
String str="99 345 8 888 55 0 -9999 30";
请编写将字符串中数字字符串按数值大小升序排序,组成新的字符串:
例如,以上例中的str作为参数,返回结果:"-9999 0 8 30 55 99 345 888" 提示:StringTokenizer
我写了一个例子,但是想用命令行穿参数不太会,大家帮忙看看 谢谢
public class B{
public static void sortNumStr(String arg){
String[] args=arg.split(" ");
for(int i=0;i<args.length;i++){
for(int j=0;j<args.length-i-1;j++){
int a=Integer.parseInt(args[j]);
int b=Integer.parseInt(args[j+1]);
if(a>b){
a=a^b;
b=a^b;
a=a^b;
}
args[j]=String.valueOf(a);
args[j+1]=String.valueOf(b);
}
}
for(int i=0;i<9;i++){
System.out.print(args[i]+",");
}
}
public static void main(String[] args)
{
sortNumStr("99 345 8 888 55 0 -9999 30");
}
}
public static void sortNumStr(String[] args) {
for (int i = 0; i < args.length; i++){
for (int j = 0; j < args.length - i - 1; j++) {
int a = Integer.parseInt(args[j]);
int b = Integer.parseInt(args[j+1]);
if (a > b) {
a = a ^ b;
b = a ^ b;
a = a ^ b;
}
args[j] = String.valueOf(a);
args[j+1] = String.valueOf(b);
}
}
for (int i = 0; i < args.length; i++){
if (i > 0) {
System.out.print(", ");
}
System.out.print(args[i]);
}
}
public static void main(String[] args) {
sortNumStr(args);
}
}运行时这样用:java B -9999 0 8 30 55 99 345 888-9999 就是 main 参数中的 args[0]
0 就是 args[1]
......