❶ java要求從命令行輸入一組字元串要求對字元串進行升序、降序、隨機操作
我在eclipse里寫的粘上來才發現這格式好蛋疼 你看代碼就好了
import java.util.Scanner;
import java.util.Arrays;
public class array {
public static void main(String[] args) {
Scanner input= new Scanner(System.in);
int arr[] = new int[5]; //隨意數組 長度隨便你
int temp = 0; //隨機變數用來交換
int random =0; //隨機數
for(int i =0;i<arr.length;i++){ //給數組的每個元素賦值
System.out.print("請輸入:");
arr[i]=input.nextInt();
}
Arrays.sort(arr); //數組排序
for(int i =0;i<arr.length;i++){ //正序輸出
System.out.print(arr[i]+"\t");
}
System.out.println();
for(int i =arr.length-1;i>=0;i--){ //反序輸出
System.out.print(arr[i]+"\t");
}
System.out.println();
for(int i =0;i<arr.length;i++){ //隨機輸出
random = (int)(Math.random()*5);//隨機產生0-9中的任意數
temp =arr[random]; //洗牌法則 隨機產生一個數 然後作為數組下標 將此下標對應的元素與數組第一個元素進行交換
arr[random] = arr[0];
arr[0]= temp;
System.out.print(arr[0]+"\t");
}
}
}
❷ java中用Arrays sort()如何將字元串倒序排列如,將"abcdefg"排序為"gfedcba".
java中用arrays sort()方法將abcdefg倒序,可以先試用java的comparable介面先進行比較,然後排序,實例如下:
packagetest;
importjava.util.Arrays;
importjava.util.Comparator;
publicclassArraysort{
publicstaticvoidmain(String[]args){
Strings="a,b,c,d,e,f,g";
String[]strArr=s.split(",");
Arrays.sort(strArr,newcom());//排序
for(Stringstr:strArr){
System.out.print(str+",");
}
}
}
classcom<T>implementsComparator<T>{//對abcdefg進行比較大小,排序
publicintcompare(To1,To2){
inti=Integer.parseInt(String.valueOf(o1));
intj=Integer.parseInt(String.valueOf(o2));
if(i>j)return1;
if(i<j)return-1;
return0;
}
}
❸ 如何用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 輸入字元串 輸出升序和降序排序結果
import java.util.Arrays;
import java.util.Scanner;
public class TestSort {
public static void sortTest(){
System.out.println("Please input number, split with ',':");
Scanner in=new Scanner(System.in);
String readLine = in.nextLine(); //讀取鍵盤輸入的一行(以回車換行為結束輸入)
String[] input = readLine.split(",");//將輸入的字元串根據','劃分為數組,比如12,11,43,100,333,4,55 = [12,11,43,100,333,4,55]
System.out.println("Before sort : " + Arrays.toString(input));
Arrays.sort(input);//Arrays.sort()方法是java提供的數組排序,可以直接使用
System.out.println("After sort : " + Arrays.toString(input));
}
public static void main(String...args){
sort();
}
}
❺ java數字字母混合字元串排序
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Sorter {
public static void main(String[] args) {
List<String> strs = new ArrayList<String>();
strs.add("aa2");
strs.add("aa100");
strs.add("aa1");
strs.add("aa10");
strs.add("aa78");
System.out.println(strs);
// 用了一個Comparetor
Comparator<String> com = new Comparator<String>() {
public int compare(String o1, String o2) {
// 前面3個IF主要是判空的
if (o1 == o2) {
return 0;
}
if (o1 == null) {
return 1;
}
if (o2 == null) {
return -1;
}
// 這里沒有做太多的判斷, index 代表第幾個開始是數字, 直接從後面遍歷
// 比如 aa11, 我們就會判斷從下標[2]開始為不是數字, 就直接截取 [2] 後面, 即11
int index = 0;
for (index = o1.length() - 1; index >= 0
&& (o1.charAt(index) >= '0' && o1.charAt(index) <= '9'); index--)
;
int num1 = Integer.parseInt(o1.substring(index + 1));
for (index = o2.length() - 1; index >= 0
&& (o2.charAt(index) >= '0' && o2.charAt(index) <= '9'); index--)
;
int num2 = Integer.parseInt(o2.substring(index + 1));
return num1 - num2;
}
};
Collections.sort(strs, com);
System.out.println(strs);
}
}