首页 > 编程语言 >java流程控制之用户交互Scanner

java流程控制之用户交互Scanner

时间:2024-08-06 16:06:34浏览次数:9  
标签:nextLine java Scanner System next 交互 scanner

  • java提供了这样一个工具类来实现程序和人的交互,"java.util.Scanner"是java5的新特征,我们可以通过Scanner类来获取用户的输入。

  • 基本语法:Scanner s=new Scanner(System.in);

  • 通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。

    next():

package com.studen.scanner;

import java.util.Scanner;

public class Demo1 {
    public static void main(String[] args){

        //创建一个扫描器对象,用于接收键盘数据
        Scanner scanner =new Scanner(System.in);
        System.out.println("使用next方式接收:");

        //判断用户有没有输入字符串
        if (scanner.hasNext()){
            //使用next方式接收
            String str = scanner.next();
            System.out.println("输出的内容为:"+str);
            //凡是属于IO流的类,如果不关闭会一直占用资源,所以要养成随用随关的习惯
            scanner.close();
        }
    }
}

nextLine():

package com.studen.scanner;

import java.util.Scanner;

public class Demo2 {
    public static void main(String[] args){
        //从键盘接收数据
        Scanner scanner = new Scanner(System.in);

        System.out.println("使用nextLine方式接收:");
        //判断是否还有输入
        if (scanner.hasNextLine()){
            String str =scanner.nextLine();
            System.out.println("输出的内容:"+str);
        }

        scanner.close();
    }
}

nextLine()
还可以使用以下简略方法:

package com.studen.scanner;

import java.util.Scanner;
public class Demo3 {
    public static void main(String[] args){

        Scanner scanner=new Scanner(System.in);

        System.out.println("输入数据:");
        String str =scanner.nextLine();
        System.out.println("输出的内容为:"+str);
        scanner.close();
    }
}

以上三种都可以实现交互,出现如下图所显示的情况,

需要注意的是
**next():

  1. 一定要读取到有效字符后才可以结束输入。
  2. 对输入有效字符之前遇到的空白,next()方法会自动将其去掉。
  3. 只有输入有效字符后才将其后面输入的空白作为分隔符或结束符。
  4. next()不能得到带有空格的字符串**

****nextLine():

  1. 以Enter为结束符,也就是nextLine()方法返回的是输入回车之前的所有字符。
  2. 可以获得空白****

以及切记import引用,否则会识别不出符号

标签:nextLine,java,Scanner,System,next,交互,scanner
From: https://www.cnblogs.com/205445xcvbn/p/18345360

相关文章

  • 基于Java Springboot广西文化传承微信小程序
    一、作品包含源码+数据库+设计文档万字+PPT+全套环境和工具资源+部署教程二、项目技术前端技术:Html、Css、Js、Vue、Element-ui数据库:MySQL后端技术:Java、SpringBoot、MyBatis三、运行环境开发工具:IDEA/eclipse+微信开发者工具数据库:MySQL5.7数据库管理工具:Navica......
  • 基于Java Springboot高校心理咨询微信小程序
    一、作品包含源码+数据库+设计文档万字+PPT+全套环境和工具资源+部署教程二、项目技术前端技术:Html、Css、Js、Vue、Element-ui数据库:MySQL后端技术:Java、SpringBoot、MyBatis三、运行环境开发工具:IDEA/eclipse+微信开发者工具数据库:MySQL5.7数据库管理工具:Navica......
  • 基于Java Springboot高校社团微信小程序
    一、作品包含源码+数据库+设计文档万字+PPT+全套环境和工具资源+部署教程二、项目技术前端技术:Html、Css、Js、Vue、Element-ui数据库:MySQL后端技术:Java、SpringBoot、MyBatis三、运行环境开发工具:IDEA/eclipse+微信开发者工具数据库:MySQL5.7数据库管理工具:Navica......
  • 基于Java Springboot高校二手交易微信小程序
    一、作品包含源码+数据库+设计文档万字+PPT+全套环境和工具资源+部署教程二、项目技术前端技术:Html、Css、Js、Vue、Element-ui数据库:MySQL后端技术:Java、SpringBoot、MyBatis三、运行环境开发工具:IDEA/eclipse+微信开发者工具数据库:MySQL5.7数据库管理工具:Navica......
  • Java基础编程练习题50题(没更新完会持续更新)
    1.古典问题有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?publicclassRabbit{publicstaticvoidmain(String[]args){intmonths=12;//假设计算12个月的情......
  • Java编程练习之集合
    1.产生10个1-100的随机数,并放到一个数组中,把数组中大于等于10的数字放到一个list集合中,并打印到控制台。publicstaticvoidmain(String[]args){//生成随机数Randomr=newRandom();//创建数组int[]arr=newint[10];/......
  • 如何确保100万张优惠券无遗漏地发放给用户:Java实现策略
    在数字化营销中,优惠券的发放是一项常见且重要的活动。当面临发放大量优惠券(如100万张)的挑战时,确保每一张优惠券都能准确无误地发放到目标用户手中,就显得尤为重要。以下是一个基于Java实现的策略,旨在帮助你高效、安全地完成这一任务。1.设计优惠券系统1.1数据库设计首先......
  • Java Optional容器总结(快速上手图解)
    Java系列文章目录JavaLambda表达式总结文章目录Java系列文章目录一、前言二、学习内容:三、问题描述四、解决方案:4.1引入Optional容器4.1.1引入容器的原因4.2Optional介绍4.3Optional的使用4.3.1关于空值报错的解决方法4.4Optional实践4.4.1为什么使用Option......
  • Java使用POI导出excel记录
    eg:@OverridepublicvoidexportExcel(HttpServletResponseresponse)throwsException{//创建Excel文档XSSFWorkbookworkbook=newXSSFWorkbook();XSSFSheetsheet=workbook.createSheet("设备厂商");//创建表头XSSFRow......
  • Java 类多态的向上转型
     假定Base b = new Derived(); 调用执行b.methodOne()后,输出结果是什么?1publicclassBase2{3publicvoidmethodOne()4{5System.out.print("A");6methodTwo();7}89publicvoidmethodTwo()10{11System.ou......