对于下面这个题,要求从键盘输入函数,由于之前学过C++的影响,一想到的就是输入流,可是java里具体怎么用还不知道,就查了API。知道了Scanner sc=new Scanner(System.in);sc.nextInt(); 但是具体含义怎么也说不清楚?关于那个空白符,如果输入过程中用回车隔开,则只能输入5个数;但是如果用空格隔开,则能输入无限制个数,回车运行则只能输出五个数。对于这个空白符怎么说???求指教!!!
import java.util.Scanner;
/**
* 编写程序接收键盘输入的5个数,装入一个数组,
* 并找出其最大数和最小数
*/
public class Test6 {
public static void main(String[] args) {
//定义一个长度为5的数组
int[] a=new int[5];
/*
* 使用scanner从 System.in(标准输入流)中读取一个数;
* 该分隔符模式与空白匹配,即每个数之间用空白隔开
*/
Scanner sc=new Scanner(System.in);
System.out.println("请输入五个数:");
//读取输入的前5个数,并装入一个数组
for(int i=0;i<5;i++){
a[i] = sc.nextInt();
}
//输出该数组
System.out.print("你输入的数组为:{");
for(int i=0;i<5;i++){
if(i!=4)
System.out.print(a[i]+",");
else
System.out.println(a[i]+"}");
}
//关闭扫描器
sc.close();
//调用max()并输出最大数
System.out.println("最大数是:"+max(a));
//调用max()并输出最大数
System.out.println("最小数是:"+min(a));
}
//定义一个函数:获取数组中的最大数
public static int max(int[] arr){
int max=0;
for(int i=0;i<arr.length;i++){
if(arr[max]<arr[i]){
max=i;
}
}
return arr[max];
}
//定义一个函数:获取数组中的最小数
public static int min(int[] arr){
int min=0;
for(int i=0;i<arr.length;i++){
if(arr[min]>arr[i]){
min=i;
}
}
return arr[min];
}
} |
|