Scanner是java中的一个类。util包,用于获取int、double等基本类型和字符串的输入。这是在Java程序中读取输入的最简单方法,但如果您想在时间受限的情况下(如在竞争性编程中)使用输入法,则效率不是很高。
null
- 要创建Scanner类的对象,我们通常会传递预定义的对象系统。在中,表示标准输入流。如果我们想从文件中读取输入,我们可以传递类File的对象。
- 要读取特定数据类型XYZ的数值,使用的函数是nextXYZ()。例如,要读取short类型的值,可以使用nextShort()
- 要读取字符串,我们使用nextLine()。
- 要读取单个字符,我们使用next()。查拉特(0)。函数的作用是:以字符串形式返回输入中的下一个标记/单词,charAt(0)函数返回该字符串中的第一个字符。
让我们看一下读取各种数据类型数据的代码片段。
// Java program to read data of various types using Scanner class. import java.util.Scanner; public class ScannerDemo1 { public static void main(String[] args) { // Declare the object and initialize with // predefined standard input object Scanner sc = new Scanner(System.in); // String input String name = sc.nextLine(); // Character input char gender = sc.next().charAt( 0 ); // Numerical data input // byte, short and float can be read // using similar-named functions. int age = sc.nextInt(); long mobileNo = sc.nextLong(); double cgpa = sc.nextDouble(); // Print the values to check if the input was correctly obtained. System.out.println( "Name: " +name); System.out.println( "Gender: " +gender); System.out.println( "Age: " +age); System.out.println( "Mobile Number: " +mobileNo); System.out.println( "CGPA: " +cgpa); } } |
输入:
Geek F 40 9876543210 9.9
输出:
Name: Geek Gender: F Age: 40 Mobile Number: 9876543210 CGPA: 9.9
有时,我们必须检查我们读取的下一个值是否属于某种类型,或者输入是否已结束(遇到EOF标记)。
然后,我们通过hasNextXYZ()函数检查扫描仪的输入是否是我们想要的类型,其中XYZ是我们感兴趣的类型。如果扫描程序具有该类型的标记,则函数返回true,否则返回false。例如,在下面的代码中,我们使用了hasNextInt()。要检查字符串,我们使用hasNextLine()。类似地,为了检查单个字符,我们使用hasNext()。查拉特(0)。
让我们看看代码片段,从控制台读取一些数字并打印它们的平均值。
// Java program to read some values using Scanner // class and print their mean. import java.util.Scanner; public class ScannerDemo2 { public static void main(String[] args) { // Declare an object and initialize with // predefined standard input object Scanner sc = new Scanner(System.in); // Initialize sum and count of input elements int sum = 0 , count = 0 ; // Check if an int value is available while (sc.hasNextInt()) { // Read an int value int num = sc.nextInt(); sum += num; count++; } int mean = sum / count; System.out.println( "Mean: " + mean); } } |
输入:
101 223 238 892 99 500 728
输出:
Mean: 397
本文由 苏克里特·巴特纳格尔 .如果你喜欢GeekSforgek,并且想贡献自己的力量,你也可以写一篇文章,并将文章邮寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。
如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写评论
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END