當前位置:首頁 » 編程語言 » 字元串排列java

字元串排列java

發布時間: 2022-10-31 14:03:13

java:字元串排序問題

public class test{
public static void main(String[] args) {
String[] str = {"acbcc","bgd","abvc","fkei","dsad","gt"};
String temp;
System.out.print("排序前數組:");
for (int i = 0; i < str.length; i++) {
System.out.print(str[i]+"\t");
}
System.out.println("");
for (int i = 0; i < str.length; i++) {
for (int j = 0; j < str.length - i - 1; j++) {
/**冒泡排序比較說明:
1.先取出每一個元素字元串第一個字元(substring(0,1)這個就是取第一個元素的字元)
2.然後將這個字元串轉換成char型(charAt(0)這個就是將一個單字元串轉換成char型)
3.接著將char型字元轉換成整型(這一步只要是求一個字元的ASCII碼,因為ASCII碼是一個整型數字,這樣做是便於比較)
4.最後通過比較使用冒泡排序
*/
if ((int)(str[j].substring(0,1).charAt(0)) > (int)(str[j+1].substring(0,1).charAt(0))) {
temp = str[j];
str[j] = str[j+1];
str[j+1] = temp;
}
}
}
System.out.print("排序後數組:");
for (int i = 0; i < str.length; i++) {
System.out.print(str[i]+"\t");
}
}
}

⑵ java 字元串排序

//這個絕對滿足您的要求
import java.util.Arrays;

public class StringSort {
public static void main(String[] args) {
String ss[]={"ab","wang","hi","a","abff"};
MyString mySs[]=new MyString[ss.length];//創建自定義排序的數組
for (int i = 0; i < ss.length; i++) {
mySs[i]=new MyString(ss[i]);
}
Arrays.sort(mySs);//排序
for (int i = 0; i < mySs.length; i++) {
System.out.println(mySs[i].s);
}
}

}

class MyString implements Comparable<MyString>{
public String s;//包裝String

public MyString(String s) {
this.s = s;
}

@Override
public int compareTo(MyString o) {
if(o==null||o.s==null) return 1;
if(s.length()>o.s.length()) return 1;
else if(s.length()<o.s.length()) return -1;
return s.compareTo(o.s);
}
}

⑶ java中怎麼按字元串中幾位排序字元串

import java.util.*;
public class CharSort
{
private static Scanner sc=new Scanner(System.in);
private static StringBuffer sb=new StringBuffer();
public static void main(String[] args)
{
System.out.println("\n\t\t==========字元串排序!==========\n");
init();
}//初始化!
private static void init()
{
System.out.println("請輸入:");
for (; ; )
{
String a=input();
char[] arr=a.toCharArray();
Arrays.sort(arr);
sb.append(a);
print(arr,sb);
}
}
//掃描!
private static String input()
{
String a=sc.nextLine();
return a;
}
//列印!
private static void print(char[] arr,StringBuffer sb)
{
System.out.println("\n字元串排序演示:");
for (int i=0;i<arr.length ;i++ )
{
System.out.print(arr[i]);
}
System.out.println("\n=====================\n倒序演示:");
System.out.print(sb.reverse());

}
}

⑷ java字元串通過什麼來排序,字元串是怎麼比較大小的

答案:java中所有類的排序是根據該類中的toString方法來排序的,你可以通過查看String類的底層代碼找到其toString()方法來看他是如何排序的。這是原理
對於單獨這個問題:字元串排序時根據字元串第一個字元的按照自然順序排序
自然順序:例如如果第一個是數字,則按照從小到大排序,如果第一個字元相同則再比較第二個字元
以此類推,對於字母則根據26個英文字母的順序決定。

=======================如果是你想問的請給最佳回答,有不懂得可以追問==========謝謝。

⑸ java中怎麼對一串字元進行排序!

importjava.util.Arrays;

publicclassStringSort{

publicstaticvoidmain(String[]args){
Stringstring="togoodtoonostringandnow";
StringsortString=sortChar(string);
System.out.println(sortString);
}

privatestaticStringsortChar(Stringstr){
//1.將字元串轉化成數組
char[]chs=stringToArray(str);
//2.對數組進行排序
sort(chs);
//3.將數組轉成字元串
returntoString(chs);
}

privatestaticStringtoString(char[]chs){
returnnewString(chs);
}

//對字元數組進行升序排序
privatestaticvoidsort(char[]chs){
Arrays.sort(chs);
}

//將字元串轉化成為數組
privatestaticchar[]stringToArray(Stringstring){
returnstring.toCharArray();
}
}

⑹ java字元串數組怎麼排序

一般情況下用
java.util.Arrays.sort(字元串數組);按字典排序, 比如 "2" 就大於 "123"

如果你對字元串有自己的排序方法, 比如按長度等

那麼你就要實現自己的Comparetor<String>, 這方面資料你自己找找

一樣用上面的方法, 只不過參數要加一個Comparetor對象

⑺ java編程實現對輸入的一串字元串進行排序(升序和降序排列區分大小寫)

/**
*str(需要排序的字元串),desc(true:從小到大,false:從大到小)
*@paramstr
*@paramdesc
*/
publicstaticvoidstringSort(Stringstr,booleandesc){
char[]array=str.toCharArray();
if(desc){//從小到大排序
for(inti=0;i<array.length;i++){
for(intj=0;j<array.length-i-1;j++){
if(array[j]>array[j+1]){
chartemp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
System.out.print("從小到大:");
for(inti=0;i<array.length;i++){
if(i==array.length-1){
System.out.println(array[i]);
}else{
System.out.print(array[i]+",");
}
}
}else{
for(inti=0;i<array.length;i++){
for(intj=0;j<array.length-i-1;j++){
if(array[j]>array[j+1]){
chartemp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
System.out.print("從小到大:");
for(inti=0;i<array.length;i++){
if(i==array.length-1){
System.out.println(array[i]);
}else{
System.out.print(array[i]+",");
}
}
}
}

⑻ java 大小寫字母字元串排序 結果例如AaBb

importjava.util.*;
publicclassCharTest{
staticScannersc=newScanner(System.in);
publicstaticvoidmain(String[]args){
System.out.println("請輸入隨機字母!");

Stringstr=sc.nextLine().replaceAll("[^\w]+","").replaceAll("\d","");
StringBuilderstb=newStringBuilder();
char[]chs=str.toCharArray();

System.out.println(" 你輸入的是:"+str);

//排序!
for(inti=1;i<chs.length;i++){
for(intj=i;j>0;j--){
if(chs[j]<chs[j-1]){
chartem=chs[j];
chs[j]=chs[j-1];
chs[j-1]=tem;
}
}
}
stb.append(chs);
System.out.println(" 排序:大寫-->小寫-->正序排列:"+stb);
System.out.println(" 排序:小寫-->大寫-->倒序排列:"+stb.reverse());
}
}

⑼ 編寫一個java程序對一個字元串數組進行排序

importjava.util.Arrays;

publicclassStringDateSort{
publicstaticvoidmain(String[]args){
StringnumString="2310-8037108";
StringsortStr=sortNumberString(numString);
System.out.println("排序的結果是"+sortStr);
}

(StringnumString){

//1.將給定的字元串分解成多個數字格式字元串
String[]numStrings=toStringArray(numString);

//2.將字元串數組轉成int數組
int[]nums=toIntArray(numStrings);

//3.對數組排序
sort(nums);

//4.將int數組轉成字元串
returntoString(nums);
}

privatestaticStringtoString(int[]nums){
StringBufferstringBuffer=newStringBuffer();
for(inti=0;i<nums.length;i++){
if(i!=nums.length-1){
stringBuffer.append(nums[i]+"<");
}else{
stringBuffer.append(nums[i]);
}
}
returnstringBuffer.toString();
}

privatestaticvoidsort(int[]nums){
Arrays.sort(nums);
}

privatestaticint[]toIntArray(String[]numStrings){
int[]nums=newint[numStrings.length];
for(inti=0;i<numStrings.length;i++){
Strings=numStrings[i];
nums[i]=Integer.parseInt(s);
}
returnnums;
}

privatestaticString[]toStringArray(StringnumString){
String[]numberStr=numString.split("");
for(inti=0;i<numberStr.length;i++){
System.out.println("抽出數字"+numberStr[i]);
}
returnnumberStr;
}
}

⑽ 如何用java對字元串進行排序

importjava.util.*;
publicclassCharSort
{
privatestaticScannersc=newScanner(System.in);
privatestaticStringBuffersb=newStringBuffer();
publicstaticvoidmain(String[]args)
{
System.out.println(" ==========字元串排序!========== ");
init();
}//初始化!
privatestaticvoidinit()
{
System.out.println("請輸入:");
for(;;)
{
Stringa=input();
char[]arr=a.toCharArray();
Arrays.sort(arr);
sb.append(a);
print(arr,sb);
}
}
//掃描!
privatestaticStringinput()
{
Stringa=sc.nextLine();
returna;
}
//列印!
privatestaticvoidprint(char[]arr,StringBuffersb)
{
System.out.println(" 字元串排序演示:");
for(inti=0;i<arr.length;i++)
{
System.out.print(arr[i]);
}
System.out.println(" ===================== 倒序演示:");
System.out.print(sb.reverse());

}
}

熱點內容
網路連接演算法 發布:2025-01-08 19:59:07 瀏覽:429
函數三種演算法 發布:2025-01-08 19:59:07 瀏覽:411
榮耀6清除緩存 發布:2025-01-08 19:57:37 瀏覽:780
安卓怎麼下載國外飛機聊天軟體 發布:2025-01-08 19:56:35 瀏覽:254
花瓣壓縮 發布:2025-01-08 19:45:51 瀏覽:859
重裝系統怎麼設置伺服器 發布:2025-01-08 19:40:08 瀏覽:719
谷歌解壓版 發布:2025-01-08 19:35:27 瀏覽:741
c語言找零錢 發布:2025-01-08 19:35:25 瀏覽:1000
壓縮大聲音 發布:2025-01-08 19:32:08 瀏覽:531
yy易語言源碼 發布:2025-01-08 19:24:42 瀏覽:885