开发环境:Eclipse
开发语言:Java
思想:要求控制台输入,则可以使用Scanner类的nextLine()获取控制台信息。由于获得的数据为一个字符串,而我们想要的是一个个分开的数据,因此可以使用spilt()方法将内容分割,分割后得到一个字符串数组。但要对其内容进行对比,因此需要将字符串转换为数值类型,由此可以使用包装类Integer的parseInt()方法将字符串转换为int型(整型),当这一切处理完成后就可以开始比较最值了。定义两个变量max(最大值)和min(最小值),假设数组的第一个元素既是最大值也是最小值,对变量max和min赋值,采用冒泡的办法将该max和min与数组中的所有元素进行比对,如果比对的元素大于max/小于min,则将该元素赋值给max/min,一直循环结束,就能得到最大值和最小值了。
package javatest;
import java.util.Scanner;
/*
* 控制台输入一组数,求最大值和最小值
*/
public class MaxAndMin {
public static void main(String[] args) {
//控制台给出提示输入一组整数
System.out.println("请输入一组整数,按空格隔开:");
//使用Scanner创建扫描器对象
Scanner sc=new Scanner(System.in);//此处需要导入java.util.Scanner包
//通过扫描器对象读取控制台数据,并赋值给字符串s
String s=sc.nextLine();
//使用split()方法将字符串通过空格进行分割
String[] ss=s.split(" ");
int dd[] = new int[ss.length];//定义一维整型数组,长度与字符串数组一致
//将字符串数组转换为整型数组
for(int i=0;i<ss.length;i++) {
dd[i]=Integer.parseInt(ss[i]);
}
//求最大值和最小值
int max=dd[0];//假设第一个元素为最大值
int min=dd[0];//假设第一个元素为最小值
//遍历数组,采用冒泡法对比每个元素
for(int i=0;i<dd.length;i++) {
if(dd[i]>=max) {
max=dd[i];
}
if(dd[i]<=min) {
min=dd[i];
}
}
System.out.println("最大值为"+max+",最小值为"+min);
//关闭资源
sc.close();
}
}
测试: