首页 > 编程语言 >Java键盘录入

Java键盘录入

时间:2024-11-06 17:30:50浏览次数:2  
标签:空格 Java Scanner System next 键盘 sc 录入

键盘录入

next()nextLine()可以接受任意数据,但是都会返回一个字符串;
nextInt()只能接受整数,键盘录入小数或者其他字母,就会报错;
nextDouble()能接收整数和小数,但是都会看做小数返回,录入字母会报错。

注意:

  1. next()nextInt()nextDouble()在接收数据的时候,会遇到空格,回车,制表符其中一个就会停止接收数据。

    Scanner sc = new Scanner(System.in);
    double d = sc.nextDouble();
    System.out.println(d);
    //键盘录入:1.1 2.2//注意录入的时候1.1和2.2之间加空格隔开。
    //此时控制台打印1.1
    //表示nextDouble方法在接收数据的时候,遇到空格就停止了,后面的本次不接收。
    
    Scanner sc = new Scanner(System.in);
    int i = sc.nextInt();
    System.out.println(i);
    //键盘录入:1 2//注意录入的时候1和2之间加空格隔开。
    //此时控制台打印1
    //表示nextInt方法在接收数据的时候,遇到空格就停止了,后面的本次不接收。
    
    Scanner sc = new Scanner(System.in);
    String s = sc.next();
    System.out.println(s);
    //键盘录入:a b//注意录入的时候a和b之间加空格隔开。
    //此时控制台打印a
    //表示next方法在接收数据的时候,遇到空格就停止了,后面的本次不接收。
    
  2. next()nextInt()nextDouble()在接收数据的时候,会遇到空格,回车,制表符其中一个就会停止接收数据。但是这些符号 + 后面的数据还在内存中并没有接收。如果后面还有其他键盘录入的方法,会自动将这些数据接收。

    Scanner sc = new Scanner(System.in);
    String s1 = sc.next();
    String s2 = sc.next();
    System.out.println(s1);
    System.out.println(s2);
    //此时值键盘录入一次a b(注意a和b之间用空格隔开)
    //那么第一个next();会接收a,a后面是空格,那么就停止,所以打印s1是a
    //但是空格+b还在内存中。
    //第二个next会去掉前面的空格,只接收b
    //所以第二个s2打印出来是b
    
  3. nextLine()是把一整行全部接收完毕。

    Scanner sc = new Scanner(System.in);
    String s = sc.nextLine();
    System.out.println(s);
    //键盘录入a b(注意a和b之间用空格隔开)
    //那么nextLine不会过滤前面和后面的空格,会把这一整行数据全部接收完毕。
    

混用:

Scanner sc = new Scanner(System.in);
int i = sc.nextInt();//键盘录入,此时录入123,但是实际上我们录的是123+回车,而nextInt是遇到空格、回车、制表符都会停止,所以nextInt只能接受123,回车还在内存中没有被接收。
String s = sc.nextLine();//此时就被nextLine接收了,导致nextLine接收不到数据。
System.out.println(i);
System.out.println(s);

总结:next()nextInt()nextDouble()配套使用,如果用了这三个其中一个,就不要用nextLine()nextLine()单独使用,此时如果想要整数,可以使用Integer.parseInt进行类型转换。

标签:空格,Java,Scanner,System,next,键盘,sc,录入
From: https://www.cnblogs.com/lm02/p/18530638

相关文章

  • java计算机毕业设计基于的大学宿舍管理系统(开题+程序+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景随着大学教育的不断发展,高校规模日益扩大,学生数量不断增加,传统的宿舍管理方式面临着巨大的挑战。传统的手工登记和管理模式存在效率低下、信息容......
  • java计算机毕业设计最优网络购票系统(开题+程序+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景随着信息技术的飞速发展,网络购票系统在现代社会中的应用日益广泛。在交通、娱乐等多个领域,人们对于便捷、高效的购票方式需求不断增加。传统的购......
  • 使用 【Java】 集成 【Elasticsearch】:详细教程
    Elasticsearch是一个开源的分布式搜索引擎,它能够快速地存储、搜索和分析大量的文本数据。它基于ApacheLucene构建,广泛应用于日志分析、全文搜索、推荐系统等场景。本文将详细介绍如何在Java项目中集成Elasticsearch,包括如何配置、索引文档、查询数据、以及与Elasticsea......
  • 基于Java的家庭理财系统app设计和实现
    目录:目录:博主介绍: 完整视频演示:你应该选择我技术栈介绍:需求分析:系统各功能实现一览:1.注册2.登录部分代码参考: 项目功能分析: 项目论文:源码获取:博主介绍: ......
  • 【问题解决】java.lang.SecurityException: JCE cannot authenticate the provider BC
    问题复现历史项目升级JDK(由1.7升级到8),进行加密/解密时出现报错java.lang.SecurityException:JCEcannotauthenticatetheproviderBC。问题原因Wikipa上查到JCE的描述如下:JavaCryptographyExtension(JCE)isanofficiallyreleasedStandardExtensiontotheJavaPl......
  • [Javascript] Iterate over Object
    const[a,b]={a:3,b:4,};console.log(a,b);//TypeError:{(intermediatevalue)(intermediatevalue)}isnotiterable Howtomakeitworkwithouttouchoriginalcode?Weneedtouse[Symbol.iterator]forObject.prototype;Object.prototype[Sym......
  • TextIn ParseX文档解析SDK工具新增Java版本
    TextInParseX通用文档解析是一款大模型友好的解析工具,支持将pdf文档、jpg、img图像等文件快速转换为markdown格式,支持各类表格、公式解析,帮助大语言模型的数据清洗和文档问答任务。此前,为了让用户获得文档解析引擎返回的丰富版面元素,我们推出了一系列的sdk函数(+link),包括目录树、......
  • Java 日期时间处理指南
    技术博客:Java日期时间处理指南在现代Java编程中,处理日期和时间是一个常见且重要的任务。Java提供了多种日期时间类和工具,帮助开发者高效地处理各种日期时间操作。本文将详细介绍Java中的日期时间类、计算时间间隔、时区处理、日期格式化和解析、日期时间计算、日期时间比较......
  • 【JAVA】Java基础—基础语法:数据类型(基本数据类型与引用数据类型)
    在Java编程中,数据类型是一个非常重要的概念,它决定了变量能够存储什么样的数据以及如何在内存中处理这些数据。Java是一种强类型语言,这意味着每个变量都必须声明其数据类型,并且在使用时必须遵循该类型的规则。数据类型主要分为两大类:基本数据类型和引用数据类型。理解这两种数......
  • java中几个易混淆概念的区分
    java中几个易混淆概念的区分接口和抽象类相同点都可以有抽象方法都不能直接实例化相同点一个类可以实现多个接口,但是只能继承一个类抽象类的成员变量可以是各种类型的,接口的成员变量只能是publicstaticfinal类型的抽象类中可以有静态代码块,接口里面不能含有静态代码......