當前位置:編程學習大全網 - 源碼下載 - java求最大數和次大數

java求最大數和次大數

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

public class GetMaxNum {

private Number[] source;

public Number[] makeArray(String str, String sep) {

String[] arr;

if (str != null && !str.equals("")) {

arr = str.split(sep);

} else {

arr = new String[0];

}

this.source = new Number[arr.length];

for (int i = 0; i < arr.length; i++) {

source[i] = Double.parseDouble(arr[i]);

}

return source;

}

/*

* 冒泡排序方法:遞增順序

*/

public Number[] doSort_asc() {

for (int i = source.length - 1; i > 1; i--) {

for (int j = 0; j < i; j++) {

if (source[j].doubleValue() > source[j + 1].doubleValue()) {

Number tmp = source[j];

source[j] = source[j + 1];

source[j + 1] = tmp;

}

}

}

return source;

}

/*

* 冒泡排序方法:遞減順序

*/

public Number[] doSort_desc() {

for (int i = source.length - 1; i > 1; i--) {

for (int j = 0; j < i; j++) {

if (source[j].doubleValue() < source[j + 1].doubleValue()) {

Number tmp = source[j];

source[j] = source[j + 1];

source[j + 1] = tmp;

}

}

}

return source;

}

/*

* 所有數據顯示

*/

public void display() {

for (int i = 0; i < source.length; i++) {

System.out.print(source[i] + " ");

}

System.out.print("\n");

}

public void display(Number[] source) {

for (int i = 0; i < source.length; i++) {

System.out.print(source[i] + " ");

}

System.out.print("\n");

}

/*

* 顯示前兩個

*/

public void display2() {

for (int i = 0; i < source.length; i++) {

if (i < 2) {

System.out.print(source[i] + " ");

}

}

System.out.print("\n");

}

public void display2(Number[] source) {

for (int i = 0; i < source.length; i++) {

if (i < 2) {

System.out.print(source[i] + " ");

}

}

System.out.print("\n");

}

public static void main(String[] args) throws IOException {

System.out.println("請輸入壹個數值類型的字符串(空格分隔):");

BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in));

String str = buffer.readLine();

GetMaxNum gmn = new GetMaxNum();

Number[] num = gmn.makeArray(str, " ");

Number[] num2 = gmn.doSort_desc();

System.out.println("妳的要求結果:");

gmn.display2(num2);

gmn = null;

num = null;

num2 = null;

str = null;

buffer = null;

}

}

//註釋:以上實現原理,從鍵盤輸入任意的數值型字符串,空格隔開,回車結束;立即顯示結果:妳輸入值的最大值和此大值,當然還可以顯示排序(遞增或者遞減)後的值,自己測試壹下結果吧!

  • 上一篇:天津科技大學人機工程學精品課程
  • 下一篇:說燒紙上香祭祖
  • copyright 2024編程學習大全網