java Scanner类常用方法

首先要引入包import java.util.Scanner;

它是一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器。Scanner 使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹配。然后可以使用不同的 next 方法将得到的标记转换为不同类型的值。
Scanner reader=new Scanner(System.in); 
然后reader对象调用下列方法(函数),读取用户在命令行输入的各种数据类型  
next.Byte(),nextDouble(),nextFloat,nextInt(),nextLine(),nextLong(),nextShot() 
上述方法执行时都会造成堵塞,等待用户在命令行输入数据回车确认.例如,拥护在键盘输入
12.34,hasNextFloat()的值是true,而hasNextInt()的值是false. NextLine()等待用户输入一个文
本行并且回车,该方法得到一个String类型的数据。

例如,以下代码使用户能够从 System.in 中读取一个数:

 Scanner sc = new Scanner(System.in);
 int i = sc.nextInt();

再例如:

import java.util.Scanner;
public class Example
{
public static void main(String args[])
{
System.out.println("请输入若干个数,每输入一个数用回车确认");
System.out.println("最后输入一个非数字结束输入操作");
Scanner reader=new Scanner(System.in);
double sum=0;
int m=0;
while(reader.hasNextDouble())
{
    double x=reader.nextDouble();
    m=m+1;
    sum=sum+x;
}
System.out.printf("%d个数的和为%f\n",m,sum);
System.out.printf("%d个数的平均值是%f\n",m,sum/m);
}
}

常用方法

这里写图片描述
这里写图片描述

这里写图片描述

再举个例子:
逐行扫描文件,并逐行输出

Scanner cin=new Scanner(System.in);
        while(cin.hasNext()){
             System.out.println(cin.next());
        }

当通过new Scanner(System.in)创建一个Scanner,控制台会一直等待输入,直到敲回车键结束,把所输入的内容传给Scanner,作为扫描对象。如果要获取输入的内容,则只需要调用Scanner的nextLine()方法即可。

/** 
* 扫描控制台输入 
* 
* @author leizhimin 2009-7-24 11:24:47 
*/ 
public class TestScanner { 
        public static void main(String[] args) { 
                Scanner s = new Scanner(System.in); 
                System.out.println("请输入字符串:"); 
                while (true) { 
                        String line = s.nextLine(); 
                        if (line.equals("exit")) break; 
                        System.out.println(">>>" + line); 
                } 
        } 
}
  • 10
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 1. next():读取下一个字符串,以空格为分隔符。 2. nextLine():读取下一行字符串,以回车符为分隔符。 3. nextInt():读取下一个整数。 4. nextDouble():读取下一个双精度浮点数。 5. hasNext():判断是否还有下一个输入项。 6. hasNextLine():判断是否还有下一行输入项。 7. useDelimiter():设置分隔符。 8. close():关闭Scanner对象。 ### 回答2: Java Scanner是一个用于扫描输入并解析它们的,它提供了许多方法来读取各种型的基本数据型、字符串和文件等。以下是java Scanner中一些常用方法: 1. next():用于读取下一个单词,以空格作为分隔符,返回字符串型的结果。 2. nextLine():用于读取下一行,以回车作为分隔符,返回字符串型的结果。 3. nextInt():用于读取下一个整数,返回int型的结果。 4. nextDouble():用于读取下一个双精度浮点数,返回double型的结果。 5. nextBoolean():用于读取下一个布尔值,返回boolean型的结果。 6. useDelimiter(String pattern):用于设置分隔符,在默认情况下,分隔符是空格或回车等空白字符。 7. hasNext():用于检查输入是否有下一个元素,如果有则返回true。 8. hasNextInt():用于检查下一个输入是否为整数,如果是则返回true。 9. hasNextDouble():用于检查下一个输入是否为双精度浮点数,如果是则返回true。 10. reset():用于重置扫描器。 11. close():用于关闭扫描器。 以上是Java Scanner中的一些常用方法,通过这些方法,我们可以轻松地读取和解析各种型的输入数据,并将它们转换为所需的数据型。同时,它也可以方便地处理字符串和文件等输入。 ### 回答3: Java Scanner是一个用于获取用户输入和文件读取的操作工具,可以通过多种方式获取各种型的输入和数据。Scanner常用方法包括: 1、next()方法方法返回输入的下一个字符串。如果输入中间包含空格,则只返回空格前的字符串。例如,“Hello world”只返回“Hello”。 2、nextLine()方法方法返回输入的下一行字符串,包括空格。例如,“Hello world”会返回“Hello world”。 3、nextInt()方法方法返回输入的下一个int型的整数。如果输入中有非数字字符,则会抛出InputMismatchException异常。 4、nextDouble()方法方法返回输入的下一个double型的数字。如果输入中有非数字字符,则会抛出InputMismatchException异常。 5、nextBoolean()方法方法返回输入的下一个boolean型的值。输入“true”(不区分大小写)将返回true,输入其他的值(包括“false”)都将返回false。 除了上述几个常用方法Scanner还有其他有用的方法,如hasNext()返回输入中是否还有下一个元素;useDelimiter()设置分隔符等等。当使用Scanner进行指定数据型的输入时,要注意在输入不同型数据的方法前先判断是否存在输入的数据,否则会出现异常。此外,在Scanner对象使用完成后要使用close()方法将其关闭,这样可以释放资源,防止资源泄露。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值