當前位置:編程學習大全網 - 編程語言 - 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();

}

}

--------運行結果-------

請任意輸入數字,以空格間隔,以回車結束!

123 4 5 6 7 7,23

請任意輸入數字,以空格間隔,以回車結束!

2 e adf 3 4

請任意輸入數字,以空格間隔,以回車結束!

5 6 6 76 7

按升序排序:

5

6

6

7

76

上述公式可以修改為:=-*INT(/)。MONTH函數函

  • 上一篇:法國包拯墓園什麽牌子的?
  • 下一篇:博格華納電驅動平臺架構的電機技術架構
  • copyright 2024編程學習大全網