java排序輸出
『壹』 java 對數字排序輸出有多少數字
實現思路:就是輸入的數字之間有固定的規則,之後讀取後,依次進行大小比較,之後直到排序結束,輸出結果即可:
import java.util.Scanner;
public class ArrangedNumbers {
Integer arryNum[];
int count = 0;/* 統計數字 */
boolean judgeIsNum = true;
StringBuffer stringbuffer = new StringBuffer();
Scanner scanner = new Scanner(System.in);
String character;
int memoryNum;
/**
* 任意輸入字元
*
* @return 返回輸入的內容
*/
// public String inputNum() {
// return null;
// }
/**
* 判斷為數字
*/
public void judgmentFigures() {
while (judgeIsNum) {
System.out.println("請任意輸入數字,以空格間隔,以回車結束!");
character = scanner.nextLine();
char[] figures = character.toCharArray();
for (int i = 0; i < figures.length; i++) {
if (!(figures[i] >= '1' && figures[i] <= '9')
&& figures[i] != 32) {
judgeIsNum = true;
break;
}
judgeIsNum = false;
}
if (!judgeIsNum)
stringbuffer.append(character);
}
String inputContent = stringbuffer.toString();
String[] numbers = inputContent.split("\\s+");
arryNum = new Integer[numbers.length];
for (int i = 0; i < numbers.length; i++) {
try {
memoryNum = Integer.parseInt(numbers[i]);
arryNum[count] = new Integer(memoryNum).intValue();
count++;
} catch (Exception e) {
/* 如果不出現異常,則說明肯定是數字 */
}
}
}
/**
* 對數字進行排序
*/
public void compareNum() {
for (int i = 0; i < arryNum.length; i++) {
for (int j = 0; j < arryNum.length - i - 1; j++) {
if (arryNum[j] > arryNum[j + 1]) {
Integer temp = arryNum[j];
arryNum[j] = arryNum[j + 1];
arryNum[j + 1] = temp;
}
}
}
}
/**
* 按升序排列輸出
*/
public void outputNum() {
System.out.println("按升序排序:");
for (int i = 0; i < arryNum.length; i++) {
System.out.println(arryNum[i]);
}
}
}
//package com.color.program;
public class JJArrangedNumbers {
public static void main(String args[]) {
ArrangedNumbers arrangeNumbers = new ArrangedNumbers();
arrangeNumbers.judgmentFigures();
arrangeNumbers.compareNum();
arrangeNumbers.outputNum();
}
}
『貳』 用java編寫任意輸入數字,排序輸出
//package com.color.program;
import java.util.Scanner;
public class ArrangedNumbers {
Integer arryNum[];
int count = 0;/* 統計數字 */
boolean judgeIsNum = true;
StringBuffer stringbuffer = new StringBuffer();
Scanner scanner = new Scanner(System.in);
String character;
int memoryNum;
/**
* 任意輸入字元
*
* @return 返回輸入的內容
*/
// public String inputNum() {
// return null;
// }
/**
* 判斷為數字
*/
public void judgmentFigures() {
while (judgeIsNum) {
System.out.println("請任意輸入數字,以空格間隔,以回車結束!");
character = scanner.nextLine();
char[] figures = character.toCharArray();
for (int i = 0; i < figures.length; i++) {
if (!(figures[i] >= '1' && figures[i] <= '9')
&& figures[i] != 32) {
judgeIsNum = true;
break;
}
judgeIsNum = false;
}
if (!judgeIsNum)
stringbuffer.append(character);
}
String inputContent = stringbuffer.toString();
String[] numbers = inputContent.split("\\s+");
arryNum = new Integer[numbers.length];
for (int i = 0; i < numbers.length; i++) {
try {
memoryNum = Integer.parseInt(numbers[i]);
arryNum[count] = new Integer(memoryNum).intValue();
count++;
} catch (Exception e) {
/* 如果不出現異常,則說明肯定是數字 */
}
}
}
/**
* 對數字進行排序
*/
public void compareNum() {
for (int i = 0; i < arryNum.length; i++) {
for (int j = 0; j < arryNum.length - i - 1; j++) {
if (arryNum[j] > arryNum[j + 1]) {
Integer temp = arryNum[j];
arryNum[j] = arryNum[j + 1];
arryNum[j + 1] = temp;
}
}
}
}
/**
* 按升序排列輸出
*/
public void outputNum() {
System.out.println("按升序排序:");
for (int i = 0; i < arryNum.length; i++) {
System.out.println(arryNum[i]);
}
}
}
//package com.color.program;
public class JJArrangedNumbers {
public static void main(String args[]) {
ArrangedNumbers arrangeNumbers = new ArrangedNumbers();
arrangeNumbers.judgmentFigures();
arrangeNumbers.compareNum();
arrangeNumbers.outputNum();
}
}
--------運行結果-------
請任意輸入數字,以空格間隔,以回車結束!
123 4 5 6 7 7,23
請任意輸入數字,以空格間隔,以回車結束!
2 e adf 3 4
請任意輸入數字,以空格間隔,以回車結束!
5 6 6 76 7
按升序排序:
5
6
6
7
76
『叄』 JAVA基礎編程題:排序輸出
importjava.util.*;
publicclassSolution{
publicstaticvoidmain(String[]a){
Scannerin=newScanner(System.in);
Stringstr=in.nextLine();
String[]splitstr=str.split(",");
long[]array=newlong[splitstr.length];
for(inti=0;i<array.length;i++){
array[i]=Integer.parseInt(splitstr[i]);
}
Arrays.sort(array);
System.out.print(Arrays.toString(array));
}
}
『肆』 java給數組從大到小排序輸出問題
代碼
System.out.print("arr[i]");
雙引號引起來的文字, 直接當成字元串輸出, 而你是想用arr[i] 這個變數,那就需要去掉雙引號
修改如下
System.out.print(arr[i]+"");//""表示每個元素中間用空格隔開
運行測試
999567555338342925241912
『伍』 java 如何實現數組排序並輸出每個數字原來的索引
java變成對數組進行排序可以使用ArraySort方法,保存源數組下標值可以存入map中,如下代碼:
importjava.util.ArrayList;importjava.util.Arrays;importjava.util.HashMap;importjava.util.List;publicclassceshi{publicstaticvoidmain(String[]args){intn=5;int[]a={8,5,4,6,2,1,7,9,3};HashMapmap=newHashMap();for(inti=0;i<a.length;i++){map.put(a[i],i);//將值和下標存入Map}//排列Listlist=newArrayList();Arrays.sort(a);//升序排列for(inti=0;i<a.length;i++){list.add(a[i]);}for(Objectobject:list){System.out.print(object+",");}System.out.println();//查找原始下標for(inti=0;i<n;i++){System.out.print(map.get(a[i])+",");}}}
運行結果如下:
『陸』 java從小到大排序輸出
import java.util.Scanner;
public class Sort {
public static void main(String[] args) {
Scanner input = new Scanner(System.in); // 實例控制台輸入類
int count = 0; // 想要輸多少個數字
int temp = 0; // 臨時變數
System.out.print("想要輸入多少個數字:");
count = input.nextInt(); // 輸入
int[] numberArray = new int[count]; // 用 已經賦好值的 count 實例數組
for (int i = 0; i < numberArray.length; i++) { // 循環輸值
System.out.print("請輸入第[" + (i + 1) + "]個數字:");
numberArray[i] = input.nextInt();
}
System.out.println("排序前:");
for(int i = 0; i < numberArray.length; i++){ // 輸出
System.out.println("第[" + (i + 1) + "]個數字:"+numberArray[i]);
}
/*
* 冒泡排序
*/
for (int i = 0; i < numberArray.length; i++) {
for (int n = 0; n < numberArray.length; n++) {
if (numberArray[n] > numberArray[i]) {
temp = numberArray[n];
numberArray[n] = numberArray[i];
numberArray[i] = temp;
}
}
}
System.out.println("排序後:");
for(int i = 0; i < numberArray.length; i++){ // 輸出
System.out.println("第[" + (i + 1) + "]個數字:"+numberArray[i]);
}
}
}
『柒』 如何在Java中從鍵盤輸入10個數,用選擇法按降序排序並輸出
在Java中在數組中保存10個數,調用下面的排序函數,用選擇法按降序排序:public static void selectionSort(int[] arr){ for (int i = 0; i < arr.length - 1; i++) { int max = i; for (int j = i + 1; j < arr.length; j++) { if (arr[max] < arr[j]) { max = j; } } if (max != i) { int tmp = arr[max]; arr[max] = arr[i]; arr[i] = tmp; } } }