在开始正文之前,请你快速回答如下问题: 在不使用任何带有自动补全功能IDE的情况下,如何获取一个数组的长度?以及,如何获取一个字符串的长度? 这个问题我问过不同水平的程序员,包括初级和中级水平的。他们都不能准确而自信地回答这个问题(如果你能很准确很自信的回答这个问题,那么证明针对这一知识点你比大多数中级程序员掌握的好)。由于现在很多IDE都有代码补全功能,这使得开发人员在很多问题上都理解的很肤浅。本文将介绍几个关于Java数组的关键概念。 上面问题的正确回答姿势应该是这样的: int[] arr = new int[3];…
January 2, 2017
Java 取得使用者输入 java.util.Scanner用法
Scanner是新增的一个简易文本扫描器,在 JDK 5.0之前,是没有的。查看最新在线文档:
public final class Scanner extends Object implements Iterator<String>, Closeable
可见,Scanner是没有子类的。
在JDK API关于Scanner提供了比较多的构造方法与方法。那么现在列出一些在平时工作中比较常用的方法,仅供大家参考:
构造方法:
public Scanner(File source) throws FileNotFoundException public Scanner(String source) public Scanner(InputStream source) //用指定的输入流来创建一个Scanner对象
方法:
public void close() //关闭 public Scanner useDelimiter(String pattern) //设置分隔模式 ,String可以用Pattern取代 public boolean hasNext() //检测输入中,是否,还有单词 public String next() //读取下一个单词,默认把空格作为分隔符 public String nextLine() //读行 注释:从hasNext(),next()繁衍了大量的同名不同参方法,这里不一一列出,感兴趣的,可以查看API
Scanner取得输入会依据空白字元、空白键、Tab,传回下一个输入。
第一种nextInt():取得使用者输入的整数
import java.util.Scanner; public class Scanner_test { public static void main(String[] args) { int num1, num2, num3; Scanner scanner = new Scanner(System.in); System.out.println("請輸入三個數字(以空白鍵分開):"); num1 = scanner.nextInt(); num2 = scanner.nextInt(); num3 = scanner.nextInt(); System.out.println("您輸入第一個數字為:" + num1 ); System.out.println("您輸入第二個數字為:" + num2 ); System.out.println("您輸入第三個數字為:" + num3 ); } }
結果:
第二種 nextFloat():取得使用者輸入的浮點數
import java.util.Scanner; public class Scanner_test { public static void main(String[] args) { float float1, float2, float3; Scanner scanner = new Scanner(System.in); System.out.println("請輸入三個浮點數(以Tab鍵分開):"); float1 = scanner.nextFloat(); float2 = scanner.nextFloat(); float3 = scanner.nextFloat(); System.out.println("您輸入第一個浮點數為:" + float1 ); System.out.println("您輸入第二個浮點數為:" + float2 ); System.out.println("您輸入第三個浮點數為:" + float3 ); } }
結果:
第三種 nextLine():取得使用者輸入的字串(包含空白字元、空白鍵、Tab)
import java.util.Scanner; public class Scanner_test { public static void main(String[] args) { String str1, str2, str3; Scanner scanner = new Scanner(System.in); System.out.println("請輸入一字串:"); str1 = scanner.nextLine(); System.out.println("您輸入的字串一為:\n" + str1 ); } }
結果:
第四種 next():取得使用者輸入的字串(不包含空白字元、空白鍵、Tab)
import java.util.Scanner; public class Scanner_test { public static void main(String[] args) { String str1, str2, str3; Scanner scanner = new Scanner(System.in); System.out.println("請輸入一字串:(不包含空白字元、空白鍵、Tab)"); str2 = scanner.next(); System.out.println("您輸入的字串一為:\n" + str2 ); } }
结果:
如果想要更多更详细关于Scanner 的说明请点以下连结
http://tw.gitbook.net/java/util/java_util_scanner.html
参考:
Java打印数组 Java Print Array Examples
在Java中如何高效的判断数组中是否包含某个元素(in_array)
本文: Java 取得使用者输入 java.util.Scanner用法