Java Scanner类用法及nextLine()产生的换行符问题实例分析
本文实例讲述了JavaScanner类用法及nextLine()产生的换行符问题。分享给大家供大家参考,具体如下:
分析理解:Scannersc=newScanner(System.in);
packagecn.itcast_01; /* *Scanner:用于接收键盘录入数据。 * *前面的时候: *A:导包 *B:创建对象 *C:调用方法 * *分析理解:Scannersc=newScanner(System.in); *System类下有一个静态的字段: *publicstaticfinalInputStreamin;标准的输入流,对应着键盘录入。 * *InputStreamis=System.in; * *classDemo{ *publicstaticfinalintx=10; *publicstaticfinalStudents=newStudent(); *} *inty=Demo.x; *Students=Demo.s; * * *构造方法: *Scanner(InputStreamsource) */ importjava.util.Scanner; publicclassScannerDemo{ publicstaticvoidmain(String[]args){ //创建对象 Scannersc=newScanner(System.in); intx=sc.nextInt(); System.out.println("x:"+x); } }
Scanner类的hasNextInt()和nextInt()方法
packagecn.itcast_02; importjava.util.Scanner; /* *基本格式: *publicbooleanhasNextXxx():判断是否是某种类型的元素 *publicXxxnextXxx():获取该元素 * *举例:用int类型的方法举例 *publicbooleanhasNextInt() *publicintnextInt() * *注意: *InputMismatchException:输入的和你想要的不匹配 */ publicclassScannerDemo{ publicstaticvoidmain(String[]args){ //创建对象 Scannersc=newScanner(System.in); //获取数据 if(sc.hasNextInt()){ intx=sc.nextInt(); System.out.println("x:"+x); }else{ System.out.println("你输入的数据有误"); } } }
Scanner类中的nextLine()产生的换行符问题
packagecn.itcast_03; importjava.util.Scanner; /* *常用的两个方法: *publicintnextInt():获取一个int类型的值 *publicStringnextLine():获取一个String类型的值 * *出现问题了: *先获取一个数值,在获取一个字符串,会出现问题。 *主要原因:就是那个换行符号的问题。 *如何解决呢? *A:先获取一个数值后,在创建一个新的键盘录入对象获取字符串。 *B:把所有的数据都先按照字符串获取,然后要什么,你就对应的转换为什么。 */ publicclassScannerDemo{ publicstaticvoidmain(String[]args){ //创建对象 Scannersc=newScanner(System.in); //获取两个int类型的值 //inta=sc.nextInt(); //intb=sc.nextInt(); //System.out.println("a:"+a+",b:"+b); //System.out.println("-------------------"); //获取两个String类型的值 //Strings1=sc.nextLine(); //Strings2=sc.nextLine(); //System.out.println("s1:"+s1+",s2:"+s2); //System.out.println("-------------------"); //先获取一个字符串,在获取一个int值 //Strings1=sc.nextLine(); //intb=sc.nextInt(); //System.out.println("s1:"+s1+",b:"+b); //System.out.println("-------------------"); //先获取一个int值,在获取一个字符串,这里会出问题 //inta=sc.nextInt(); //Strings2=sc.nextLine(); //System.out.println("a:"+a+",s2:"+s2); //System.out.println("-------------------"); inta=sc.nextInt(); Scannersc2=newScanner(System.in); Strings=sc2.nextLine(); System.out.println("a:"+a+",s:"+s); } }
更多关于java相关内容感兴趣的读者可查看本站专题:《Java文件与目录操作技巧汇总》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。