首页 > 其他分享 >Scanner中的next()与nextLine()的问题

Scanner中的next()与nextLine()的问题

时间:2023-03-08 16:56:35浏览次数:32  
标签:nextLine String System Scanner next 输入 scanner

/**
* 问题:当调用完以空格作为分割符的方法后,再调用一个以换行符(回车)的方法时
* 这个方法不会等待你继续输入,而是自动输入了空字符串""
* 打印出来的内容,就是空字符串
* next(),nextInt(),nextDouble() 都是有 空格 为 分割符作为下一个输入
* nextLine() 是以 换行符(回车) 为分割符作为下一个输入
*/

 

 

解决方法1:重新创建一个新的Scanner对象,因为新创建的Scanner对象一定是干净的(不推荐使用)
    public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个整数:");
int n = scanner.nextInt();

Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String str = sc.nextLine();

}
}
 

 

 

 

解决方法2:在以“空格”为分隔符的方法如nextInt()后再调用预测nextLine()方法(不推荐使用)
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个整数:");
int n = scanner.nextInt();

scanner.nextLine();
System.out.println("请输入一个字符串:");
String str = scanner.nextLine();

}


 


 

 解决方法3:无论输入什么数据,都使用nextLine()方法,在根据所需数据类型通过包装类中的方法转为所需类型(推荐使用)
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个整数:");
String n = scanner.nextLine();
int m = Integer.parseInt(n);//通过包装类的方法将字符串类型转为int类型

System.out.println("请输入一个字符串:");
String str = scanner.nextLine();

}

 


 




 

标签:nextLine,String,System,Scanner,next,输入,scanner
From: https://www.cnblogs.com/me-me/p/17192611.html

相关文章

  • swiper轮播图loop循环失效bug解决(watch+nextTick)
    template渲染页代码如下:<!--banner轮播--><divclass="swiper"id="mySwiper"><divclass="swiper-wrapper"><divclass="swiper-slide"......
  • 【愚公系列】2022年03月 .NET架构班 020-ABP vNext 虚拟文件系统
    【摘要】前言虚拟文件系统可以管理文件系统(磁盘)上实际不存在的文件。它主要用于将(js,css,image,cshtml…)文件嵌入到程序集中,并在运行时将它们用作物理文件。一、集成虚拟......
  • [Bugfix] org.yaml.snakeyaml.scanner.ScannerException
    背景SpringBoot的yml文件中使用了Mavenpom.xml中的properties:<properties><active>dev</active></properties>这些properties预期是在mvncompile阶......
  • day84-nextTick
    nextTick语法:this.$nextTick(回调函数)作用:在下一次dom更新结束后执行其指定的回调todoList案例在item组件中,设计编辑按钮,自动出现输入框并获取焦点在todo上增添isedi......
  • 汇川Easy521 (Scanner) 和AM401(Adapter)的EIP通信
    1.AM401作为从站的相关配置 注:配置发生变化时需要从新导出EDS文件 配置完成后,导出EDS文件   2.Easy作为主站的配置 ......
  • 汇川AM401(Scanner) 和Easy521 (Adapter)的EIP通信
    1,导出Easy系列的EDS文件,配置Easy521的收发字节大小  2,导入Easy系列的EDS文件,配置AM401的收发字节大小    3,AM401作为Scanner的EIP通讯诊断代码......
  • Scanner对象
    java.util(工具包).Scanner  ;可以通过Scanner类来获取用户输入。  基本语法:newScanner(java.util)//导入Java工具包类Scanners=newScanner(System.in);  ......
  • 用户交互Scanner
    用户交互ScannerpublicclassDemo{publicstaticvoidmain(String[]args){//从键盘接收数据Scannerscanner=newScanner(System.in);......
  • Python实现迭代器(__next__和__iter__)
    一、简单示例死循环classFoo:def__init__(self,x):self.x=xdef__iter__(self):returnselfdef__next__(self):self......
  • Scanner
    next:一个字符nextLine:一行......