Java Scanner类用法及nextLine()产生的换行符问题实例分析
程序员文章站
2024-02-25 20:22:33
本文实例讲述了java scanner类用法及nextline()产生的换行符问题。分享给大家供大家参考,具体如下:
分析理解:scanner sc = new scan...
本文实例讲述了java scanner类用法及nextline()产生的换行符问题。分享给大家供大家参考,具体如下:
分析理解:scanner sc = new scanner(system.in);
package cn.itcast_01; /* * scanner:用于接收键盘录入数据。 * * 前面的时候: * a:导包 * b:创建对象 * c:调用方法 * * 分析理解:scanner sc = new scanner(system.in); * system类下有一个静态的字段: * public static final inputstream in; 标准的输入流,对应着键盘录入。 * * inputstream is = system.in; * * class demo { * public static final int x = 10; * public static final student s = new student(); * } * int y = demo.x; * student s = demo.s; * * * 构造方法: * scanner(inputstream source) */ import java.util.scanner; public class scannerdemo { public static void main(string[] args) { // 创建对象 scanner sc = new scanner(system.in); int x = sc.nextint(); system.out.println("x:" + x); } }
scanner类的hasnextint()
和nextint()
方法
package cn.itcast_02; import java.util.scanner; /* * 基本格式: * public boolean hasnextxxx():判断是否是某种类型的元素 * public xxx nextxxx():获取该元素 * * 举例:用int类型的方法举例 * public boolean hasnextint() * public int nextint() * * 注意: * inputmismatchexception:输入的和你想要的不匹配 */ public class scannerdemo { public static void main(string[] args) { // 创建对象 scanner sc = new scanner(system.in); // 获取数据 if (sc.hasnextint()) { int x = sc.nextint(); system.out.println("x:" + x); } else { system.out.println("你输入的数据有误"); } } }
scanner类中的nextline()
产生的换行符问题
package cn.itcast_03; import java.util.scanner; /* * 常用的两个方法: * public int nextint():获取一个int类型的值 * public string nextline():获取一个string类型的值 * * 出现问题了: * 先获取一个数值,在获取一个字符串,会出现问题。 * 主要原因:就是那个换行符号的问题。 * 如何解决呢? * a:先获取一个数值后,在创建一个新的键盘录入对象获取字符串。 * b:把所有的数据都先按照字符串获取,然后要什么,你就对应的转换为什么。 */ public class scannerdemo { public static void main(string[] args) { // 创建对象 scanner sc = new scanner(system.in); // 获取两个int类型的值 // int a = sc.nextint(); // int b = sc.nextint(); // system.out.println("a:" + a + ",b:" + b); // system.out.println("-------------------"); // 获取两个string类型的值 // string s1 = sc.nextline(); // string s2 = sc.nextline(); // system.out.println("s1:" + s1 + ",s2:" + s2); // system.out.println("-------------------"); // 先获取一个字符串,在获取一个int值 // string s1 = sc.nextline(); // int b = sc.nextint(); // system.out.println("s1:" + s1 + ",b:" + b); // system.out.println("-------------------"); // 先获取一个int值,在获取一个字符串,这里会出问题 // int a = sc.nextint(); // string s2 = sc.nextline(); // system.out.println("a:" + a + ",s2:" + s2); // system.out.println("-------------------"); int a = sc.nextint(); scanner sc2 = new scanner(system.in); string s = sc2.nextline(); system.out.println("a:" + a + ",s:" + s); } }
更多关于java相关内容感兴趣的读者可查看本站专题:《java文件与目录操作技巧汇总》、《java数据结构与算法教程》、《java操作dom节点技巧总结》和《java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
下一篇: 如何在Mac上关闭VoiceOver