導航:首頁 > 編程語言 > java字元串排列

java字元串排列

發布時間:2023-02-25 02:31:49

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編程實現對輸入的一串字元串進行排序(升序和降序排列區分大小寫)

/**
*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 字元串排序

//這個絕對滿足您的要求
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字元串通過什麼來排序,字元串是怎麼比較大小的

public class Util {
public static void main(String[] args) {
//鍵盤接受用戶輸入的數
java.util.Scanner sc = new java.util.Scanner(System.in);
//放入數組,好排序,這里定義double類型就是如果用戶輸入的小回數也可以
double[] arr = new double[16];
//循環答用戶輸入的16個數
for(int i = 1; i <= 16; i++){
System.out.println("請輸入第" + i +"個數");
arr[i-1] = sc.nextDouble();
}
//進行排序
java.util.Arrays.sort(arr);
//輸出排序後的16個數,順序是從小到大
System.out.println(java.util.Arrays.toString(arr));
}
}

⑤ java 字元串排序

你好。代碼如下:
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
public class BaiTest10 {
public static void main(String[] args) {
System.out.println("請輸入一串字元串:") ;
Scanner sc = new Scanner(System.in) ;
String str = sc.next() ;
System.out.println("排序前:" + str);
String newStr = sort(str) ;
System.out.println("排序後:" + newStr);
}

public static String sort(String str) {
char[] ch = str.toCharArray() ;
List<Character> list = new ArrayList<Character>() ;
for (int i=0;i<ch.length;i++) {
list.add(ch[i]) ;
}
Collections.sort(list);
StringBuffer sb = new StringBuffer() ;
for (int i=0;i<ch.length;i++) {
sb.append(list.get(i)) ;
}
return sb.toString() ;
}
}

⑥ 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對字元串進行排序

importjava.util.*;
publicclassCharSort
{
privatestaticScannersc=newScanner(System.in);
privatestaticStringBuffersb=newStringBuffer();
publicstaticvoidmain(String[]args)
{
.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());

}
}

⑧ java 字元串排序

public class StringSort {
public static void main(String []args) {
String[] s={"a","b","c","d","m","f"};
for(int i=s.length-1;i>=1;i--){
for(int j=0;j<=i-1;j++) {
if(s[j].compareTo(s[j+1])<0) {
String temp=null;
temp=s[j];
s[j]=s[j+1];
s[j+1]=temp;
}
}
}
for(String a:s){
System.out.print(a+" ");
}
}
}
不用compareTo就比較麻煩了,比較字元串的實質是比較字元串的字母,首字母相同,比較下一個,然後又相同的話,再下一個....所以你可以先用substring();截出第一個字元,然後再比較,相同的再截第二個,.....
有好的方法提供給你了,你就直接用,不要把簡單的問題復雜化,只要知道就行了,就比如字元串的比較實質是先比第一個字母,再第二個一樣,若實在是要進行再細一方面怎麼排序,可以查看API文檔,看字元串有哪些方法,再在這些方法的基礎上自己動手去寫,還不是一樣寫的出,但這針對你的這個問題,就落下乘了,你想想就覺得有點復雜吧!

閱讀全文

與java字元串排列相關的資料

熱點內容
局內人未刪減版本 瀏覽:159
app計步器軟體如何同步支付寶 瀏覽:979
iPhone516g升級ios9 瀏覽:744
iphone修改名稱 瀏覽:843
win10開啟藍光護眼 瀏覽:745
如何網路共享掃描儀 瀏覽:19
聯盟28級去哪裡升級好 瀏覽:687
電腦不能網路連接 瀏覽:651
現場監理文件多少卷 瀏覽:807
vbnet同步資料庫 瀏覽:314
招商銀行app在哪裡查銀行狀態 瀏覽:124
除了沙發管家還有什麼app 瀏覽:44
蘋果怎麼更改安裝包文件夾 瀏覽:892
40歲以上看什麼app 瀏覽:758
手機網路怎麼這么卡 瀏覽:270
jstab定位 瀏覽:925
win10有產品密匙 瀏覽:971
張藝興微信粉絲群 瀏覽:432
在哪個app看各個博導招生信息 瀏覽:611
hp280prog2mt裝win10 瀏覽:733

友情鏈接