java 輸入一個數字組成的陣列(輸出該陣列的最大值和最小值)

NO IMAGE

一、需求分析:

1、輸入一個陣列—————————————–》程式要接收一組輸入的陣列,沒有明確這組陣列有多大
2、一個數字組成的陣列——————————–》接收到的陣列只能是數字
3、輸出接收到陣列的最大值和最小值————–》得到最大和最小值

二、技術難點

1、怎麼從使用者輸入獲取到一個數字陣列?
可以用BufferedReader類:從字元輸入流中讀取文字,緩衝各個字元,從而實現字元、陣列和行的高效讀取。
2、怎麼得到最大最小值?

這個好辦最簡單就是遍歷陣列嘛

程式碼實現:


package com.itheima;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
/**
* 6、 輸入一個數字組成的陣列,輸出該陣列的最大值和最小值
* 
* @author [email protected]
*/
public class Test6 {
public static void main(String[] args) throws IOException {
System.out.println("請輸入一組數字:");
// 建立輸入流物件
BufferedReader reader = new BufferedReader(new InputStreamReader(
System.in));
// 讀取一行資訊
String input = reader.readLine();
// 以空格為分隔符,轉換成陣列
String[] numbers = input.split(" ");
int[] values = new int[numbers.length];
for (int j = 0; j < numbers.length; j  ) {
values[j] = Integer.parseInt(numbers[j]);
}
numbers = null; // 回收numbers陣列的資源
// 獲取接收到的陣列裡面的最大、最小數值
// 獲取最大值和獲取最小值分別寫成了兩個函式的話,就等於是多遍歷了一遍這個陣列,效率降低了,可擴充套件性增強了
System.out.printf("MAX:%d, MIN:%d\n", getMax(values), getMin(values));
}
public static int getMax(int[] values) {
int tmp = Integer.MIN_VALUE;
if (null != values) {
tmp = values[0];
for (int i = 0; i < values.length; i  ) {
if (tmp < values[i]) {
tmp = values[i];
}
}
}
return tmp;
}
public static int getMin(int[] values) {
int tmp = Integer.MIN_VALUE;
if (null != values) {
tmp = values[0];
for (int i = 0; i < values.length; i  ) {
if (tmp > values[i]) {
tmp = values[i];
}
}
}
return tmp;
}
}

您可能感興趣的文章:

Java實現求子陣列和的最大值演算法示例java 獲取一組資料中的最大值和最小值JAVA得到陣列中最大值和最小值的簡單例項java求三個數的最大值的示例分享java求陣列最大值和最小數示例分享java集合求和最大值最小值示例分享java利用陣列求平均值,最大值,最小值三種Java求最大值的方法