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程序设计有所帮助。