首页 > 编程语言 >Java用户交互Scanner

Java用户交互Scanner

时间:2022-08-17 18:44:45浏览次数:90  
标签:Java scanner System println out 交互 输入 Scanner

Scanner

1、Scanner对象

Scanner是Java给我们提供的一个工具类,我们可以通过 Scanner 类来获取用户的输入。

下面是创建 Scanner 对象的基本语法:

 Scanner s = new Scanner(System.in);

2、next & nextLine

next

使用next方式接收一下输入的数据!

 package scanner;
 import java.util.Scanner;
 public class Demo01 {
 ​
     public static void main(String[] args) {
 ​
         //创建一个扫描器对象,用于接收键盘数据
         Scanner scanner = new Scanner(System.in);
 ​
         System.out.println("使用next方式接收:");
 ​
         //判断用户有没有输入字符串
         //if (scanner.hasNext()==true)默认等于true,可以省略
         if (scanner.hasNext()) {
             String str = scanner.next(); //程序会等待用户输入完毕
             System.out.println("输入的内容为:" + str);
        }
 ​
         //凡是属于IO流的类如果不关闭会一直占用资源,要养成良好习惯用完就关掉
         scanner.close();
 ​
    }
 }

测试数据:Hello World!

结果:只输出了Hello。World!没有输出

nextLine

换成nextLine方式接收一下输入的数据!

 public static void main(String[] args) {
 Scanner scanner2 = new Scanner(System.in);
 // 从键盘接收数据
 // nextLine方式接收字符串
 System.out.println("nextLine方式接收:");
 // 判断是否还有输入
 if (scanner2.hasNextLine()) {
 String str2 = scanner2.nextLine();
 System.out.println("输入内容:" + str2);
 }
 scanner2.close();
 }

测试数据:Hello World!

结果:输出了Hello World!

两者区别:

next():

1、一定要读取到有效字符后才可以结束输入。

2、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。

3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。

4、next() 不能得到带有空格的字符串。

nextLine():

1、以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。

2、可以获得空白。

3、其他方法

如果要输入 int 或 float 类型的数据,在 Scanner 类中也有支持,但是在输入之前最好先使用 hasNextXxx() 方法进行验证,再使用 nextXxx() 来读取:

 package scanner;
 import java.util.Scanner;
 public class Demo04 {
     public static void main(String[] args) {
 ​
         Scanner scanner = new Scanner(System.in);
 ​
         //从键盘接收数据
         int i = 0;
         float f = 0.0f;
         System.out.println("请输入整数");
 ​
         //if
         if (scanner.hasNextInt()){
             i = scanner.nextInt();
             System.out.println("输入的整数为:"+i);
        }else {
             System.out.println("输入的不是整数!");
        }
 ​
         //if
         System.out.println("请输入小数");
         if (scanner.hasNextFloat()){
             f = scanner.nextFloat();
             System.out.println("输入的小数为:"+f);
        }else {
             System.out.println("输入的不是小数!");
        }
 ​
         scanner.close();
 ​
 ​
    }
 }
 ​

本文是学习狂神老师的课程时做的笔记,部分内容参考了狂神老师的视频和随笔

狂神老师课程链接:https://www.kuangstudy.com/



标签:Java,scanner,System,println,out,交互,输入,Scanner
From: https://www.cnblogs.com/YeJ1an/p/16596384.html

相关文章

  • JavaSE第十一章:泛型
    史上最全的知识体系脑图,覆盖所有知识点,所有细节,注意事项。泛型:包含为什么要有泛型?使用泛型,泛型的几个重要应用,在集合中使用泛型,自定义泛型类,自定义泛型接口,自定义泛型方法......
  • java运算符
    算术运算符+,-,*,/(取模),%(取余数),++,--赋值运算符=//a=b关系运算符>,<,>=,<=,==,!=,instanceof逻辑运算符&&,||,!位运算符&,|,^,~,>>,<<,>>>条件运算符......
  • javaweb Listen
    packagecom.cj.servlet;importjavax.servlet.ServletContextEvent;importjavax.servlet.ServletContextListener;importjavax.servlet.annotation.WebListener;......
  • java各种输入输出流
    ClassFileInputStream-------------------------------------------java.lang.Object   java.io.InputStream       java.io.FileInputStreamClassFileOutpu......
  • Failed to convert value of type 'java.lang.String' to required type 'java.lang.L
    报错信息:Uncaught(inpromise)Error:Failedtoconvertvalueoftype'java.lang.String'torequiredtype'java.lang.Long';nestedexceptionisjava.lang.Number......
  • Java常见的8种数据结构
    一、数组、链表、哈希表;队列、栈 1.数组: 2.链表: 3.哈希表: 4.队列:先进先出 5.栈:先进后出数据结构优点缺点数组查找快增删慢链表增删快查找慢哈......
  • 代码审计(Java)——WebGoat_SqlInjection
    一、SqlInjection_introduction1.这里level1-8就不说了,都是介绍+简单的sql语句,直接上level9这里可以看到,是给出了选择框的一道题,OWASP真不错,生怕你不会哈哈~......
  • java学习笔记010
    1.JDK8.0接口新特性static方法 只能通过接口名.静态方法名的方式来调用default方法 可以通过实现类对象.默认方法名的方式来调用 在实现类的方法中通过接口名.su......
  • 借助HSDB查看Java类对应的klass模型
    问题一:Java的每个类被加载到JVM中,他们对应的C++类是什么?答:klass模型问题二:在JDK8中,Java类存储在方法区还是堆区?普通的Java类,在JVM中对应的C++类是InstanceKlass,存储......
  • java 携带session 前台传递cookie 跨域解决方案 vue + java
    前台axios设置withCredentials:true后台设置header("Access-Control-Allow-Origin","源地址";header("Access-Control-Allow-Credentials","true");这里源地址......