当前位置:首页 » 编程语言 » 字符串排列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());

}
}

热点内容
rman恢复脚本 发布:2025-01-07 20:17:35 浏览:673
modely加哪个配置 发布:2025-01-07 20:14:03 浏览:440
java的科学计算法 发布:2025-01-07 20:01:48 浏览:235
php数组相加 发布:2025-01-07 20:01:43 浏览:437
数据库基本命令 发布:2025-01-07 19:50:42 浏览:80
3d点歌系统云服务器ip地址 发布:2025-01-07 19:47:48 浏览:957
定原始算法 发布:2025-01-07 19:47:04 浏览:812
如何让编译器认定是什么段 发布:2025-01-07 19:45:39 浏览:156
c语言与c区别 发布:2025-01-07 19:45:37 浏览:968
nex5t存储卡 发布:2025-01-07 19:43:44 浏览:319