黑马程序员技术交流社区

标题: 【技术交流】接收键盘输入5个数装入一个数组 Scanner(System.in);空白符不懂?? [打印本页]

作者: 蓝墨清幽    时间: 2015-4-23 22:26
标题: 【技术交流】接收键盘输入5个数装入一个数组 Scanner(System.in);空白符不懂??
对于下面这个题,要求从键盘输入函数,由于之前学过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];
        }
}
作者: 菜鸟的求学路    时间: 2015-4-25 00:57
你这想问的是什么?你不是解决了吗?
作者: fantacyleo    时间: 2015-4-25 01:22
【用空格隔开,则能输入无限制个数】 这不是当然的么?哪门编程语言不是这样?
空白字符,学过C/C++的应该很清楚,c标准库的函数isspace就有定义空白字符,常见的有空格、回车、tab,详细说明查man page吧
作者: 南帆    时间: 2015-10-3 22:13
还没试验,正要用scanner读取键盘录入多个数据
作者: 南帆    时间: 2015-10-3 22:22
试过了没发现你说的问题..........都能无限次输入




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2