高分悬赏,Java语言实现字符串的排序,怎么写这个程序,运用数组来实现,懂的人来回答
数字字符串排序和数组
public class StringDateSort {
public static void main(String[] args) {
String numString="23 10 -8 0 3 7 108";
String sortStr=sortNumberString(numString);
System.out.println("排序的结果是"+sortStr);
}
private static String sortNumberString(String numString) {
//1.将给定的字符串分解成多个数字格式字符串
String[] numStrings=toStringArray(numString);
//2.将字符串数组转成int数组
int[] nums=toIntArray(numStrings);
//3.对数组排序
sort(nums);
//4.将int数组转成字符串
return toString(nums);
}
private static String toString(int[] nums) {
StringBuffer stringBuffer=new StringBuffer();
for (int i = 0; i < nums.length; i++) {
if (i!=nums.length-1) {
stringBuffer.append(nums[i]+"<");
}else{
stringBuffer.append(nums[i]);
}
}
return stringBuffer.toString();
}
private static void sort(int[] nums) {
Arrays.sort(nums);
}
private static int[] toIntArray(String[] numStrings) {
int[] nums=new int[numStrings.length];
for (int i = 0; i < numStrings.length; i++) {
String s=numStrings[i];
nums[i]=Integer.parseInt(s);
}
return nums;
}
private static String[] toStringArray(String numString) {
String[] numberStr=numString.split(" ");
for (int i = 0; i < numberStr.length; i++) {
System.out.println("抽出数字"+numberStr[i]);
}
return numberStr;
}
英文字符串排序
public class Main {
public static void main(String[] args) {
String str1 = "abc";
System.out.println(str1.substring(2));
String str = "holle world";
//倒序输出的4种方式
reverseString1(str);
reverseString2(str);
reverseString3(str);
reverseStringMy(str);
}
/*
* 利用String类的toCharArray(),再倒序输出数组的方法
*/
private static void reverseString1(String str) {
char[] chr = str.toCharArray();
for (int i = chr.length-1 ; i >= 0; i--) {
System.out.print(chr[i]);
}
System.out.println("\t");
}
/*
* 利用String类提供的subString()方法,利用递归的办法输出倒序字符串。
*/
private static void reverseString2(String str) {
if (str.length() == 1)
System.out.println(str);
else {
String subString1 = str.substring(0, str.length() - 1);
String subString2 = str.substring(str.length() - 1);
System.out.print(subString2);
reverseString2(subString1);
}
}
/*
* 定义成一个StringBuffer类,用StringBuffer类中的reverse()方法直接倒序字符串。
*/
private static void reverseString3(String str) {
StringBuffer buffer = new StringBuffer(str);
System.out.println(buffer.reverse());
}
/*
* 利用subString()方法,只不过循环输出
*/
private static void reverseStringMy(String str) {
StringBuffer a = new StringBuffer();
String subString2 = "";
for (int i = str.length(); i > 0; i--) {
subString2 = str.substring(i - 1, i);
a.append(subString2);
}
System.out.print("My:" + a);
System.out.println("\t");
}
}
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner cin = new Scanner(System.in);
int t = cin.nextInt();
List lists = new ArrayList();
for (int i = 0; i <= t; i++)
{
lists.add(cin.nextLine());
}
Collections.sort(lists);
for (String li : lists)
{
System.out.println(li);
}
}
}