通过Scanner类获取用户的输入。
1.通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取之前一般需要使用hasNext与hasNextLine判断是否还有输入的数据。
使用next方法接受
public class Demo01 { public static void main(String[] args) { //创建一个扫描对象 Scanner scanner=new Scanner(System.in); System.out.println("使用next方式接受"); //判断用户有没有输入字符串 if(scanner.hasNext()){ String str=scanner.next(); System.out.println("输出的内容为:"+str); } //凡是属于IO流的类如果不关闭会一直占用资源,养成好习惯用完关掉 scanner.close(); } }
运行结果
使用nextLane方法接受
Scanner scanner=new Scanner(System.in); //从键盘接受数据 System.out.println("使用nextLine方式接受"); //判断是否还有输入 if(scanner.hasNextLine()){ String str=scanner.nextLine(); System.out.println("输出的内容为:"+str); } scanner.close();
运行结果
- 一定要读到有效字符才可以结束输入
- 对输入有效字符之前遇到的空白,next()方法自动将其去掉。
- 只有输入有效字符后才将其后面输入的空白作为分割符或者结束符。
- next()不能得到带有空格的字符串。
- 以Enter为结束符,nextLine()方法返回的是输入回车之前的所有字符。
- 可以获得空白
Scanner scanner=new Scanner(System.in); //从键盘接受数据 System.out.println("请输入数据:"); //获取数据 String str=scanner.nextLine(); //输出数据 System.out.println("输出的内容为:"+str); //关闭 scanner.close();
运行结果
Scanner scanner=new Scanner(System.in); //从键盘接受数据 int i=0; float f=0.0f; System.out.println("请输入整数"); if(scanner.hasNextInt()){ i=scanner.nextInt(); System.out.println("整数数据"+i); }else { System.out.println("输入不是整数数据"); } System.out.println("请输入小数"); if(scanner.hasNextFloat()){ f=scanner.nextFloat(); System.out.println("整数数据"+f); }else { System.out.println("输入不是整数数据"); } scanner.close();
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)