java中怎么用scanner

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中怎么用scanner相关的知识,希望对你有一定的参考价值。

怎么用scanner类输入数字、字符?并直接把输入的数字赋值给一个变量!希望能说的详细点,谢谢

使用该类创建一个对象.

Scanner Sc=new Scanner(System.in); 

然后Sc对象调用下列方法(函数),读取用户在命令行输入的各种数据类型: next.Byte(),nextDouble(),nextFloat,nextInt(),nextLin(),nextLong(),nextShot() 。这些方法执行时都会造成堵塞,等待用户在命令行输入数据回车确认。

例如,拥护在键盘输入12.34,hasNextFloat()的值是true,而hasNextInt()的值是false。NextLine()等待用户输入一个文本行并且回车,该方法得到一个String类型的数据。

例子代码:

执行结果:

扩展资料:

Scanner的构造器支持多种方式,可以从字符串(Readable)、输入流、文件等等来直接构建Scanner对象,有了Scanner了,就可以逐段(根据正则分隔式)来扫描整个文本,并对扫描后的结果做想要的处理。

下面是一些API函数的用法:

delimiter():

返回此 Scanner 当前正在用于匹配分隔符的 Pattern。

hasNext() :

判断扫描器中当前扫描位置后是否还存在下一段。

hasNextLine() :

如果在此扫描器的输入中存在另一行,则返回 true。

next() :

查找并返回来自此扫描器的下一个完整标记。

nextLine() :

此扫描器执行当前行,并返回跳过的输入信息。

参考资料:百度百科--Scanner 

参考技术A   它是以前的StringTokenizer和Matcher类之间的某种结合。由于任何数据都必须通过同一模式的捕获组检索或通过使用一个索引来检索文本的各个部分。于是可以结合使用正则表达式和从输入流中检索特定类型数据项的方法。
  这样,除了能使用正则表达式之外,Scanner类还可以任意地对字符串和基本类型(如int和double)的数据进行分析。
  借助于Scanner,可以针对任何要处理的文本内容编写自定义的语法分析器。
  Scanner是SDK1.5新增的一个类,可是使用该类创建一个对象.  
Scanner reader=new Scanner(System.in);  
然后reader对象调用下列方法(函数),读取用户在命令行输入的各种数据类型:  
next.Byte(),nextDouble(),nextFloat,nextInt(),nextLine(),nextLong(),nextShot()  
上述方法执行时都会造成堵塞,等待用户在命令行输入数据回车确认.例如,拥护在键盘输入12.34,hasNextFloat()的值是true,而hasNextInt()的值是false. NextLine()等待用户输入一个文本行并且回车,该方法得到一个String类型的数据。
参考技术B

Scanner是SDK1.5新增的一个类,可使用该类创建一个对象。

Scanner reader=new Scanner(System.in); 

然后reader对象调用下列方法(函数),读取用户在命令行输入的各种数据类型  

next.Byte(),nextDouble(),nextFloat,nextInt(),nextLine(),nextLong(),nextShot() 

上述方法执行时都会造成堵塞,等待用户在命令行输入数据回车确认.例如,拥护在键盘输入12.34,hasNextFloat()的值是true,而hasNextInt()的值是false。NextLine()等待用户输入一个文本行并且回车,该方法得到一个String类型的数据。

Scanner的构造器支持多种方式,可以从字符串(Readable)、输入流、文件等等来直接构建Scanner对象,有了Scanner了,就可以逐段(根据正则分隔式)来扫描整个文本,并对扫描后的结果做想要的处理。

下面是一些API函数的用法:

delimiter()
返回此 Scanner 当前正在用于匹配分隔符的 Pattern。
hasNext()
判断扫描器中当前扫描位置后是否还存在下一段。(原APIDoc的注释很扯淡)
hasNextLine()
如果在此扫描器的输入中存在另一行,则返回 true。
next()
查找并返回来自此扫描器的下一个完整标记。
nextLine()
此扫描器执行当前行,并返回跳过的输入信息。

<span style="font-family:'Microsoft YaHei';font-size:14px;">import java.util.*;  
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);  
  
</span>

运行结果:

C:\\java>java     

请输入若干个数,每输入一个数用回车确认

最后输入一个非数字结束输入操作

34.13445

3个数的和为113.100000

3个数的平均值是37.700000

参考技术C //导包
import
java.util.Scanner;
public
class
TextScanner
public
static
void
main(String
[]
args)
//创建Scanner对象
接受从控制台输入
Scanner
input
=
new
Scanner(System.in);
System.out.println("请输入名字:");
//接受String型
String
name
=
input.next();
System.out.println("请输入学号");
//接受int型
int
id
=
input.nextInt();//什么类型next后面就接什么
注意大小写
//输出结果
System.out.println("名字为:"+name+"\t学号为:"+id);

参考技术D 用Scanner scanner=new Scanner(System.in);就可以了;再用int x=scanner.nextInt();我这表示只接收int类型的数据,如果输入其他的数据要出问题的哦

java语言中的scanner是啥意思用来干嘛

scanner是一个用于扫描输入文本的新的实用程序。它是以前的StringTokenizer和Matcher类之间的某种结合。

由于任何数据都必须通过同一模式的捕获组检索或通过使用一个索引来检索文本的各个部分。于是可以结合使用正则表达式和从输入流中检索特定类型数据项的方法。这样,除了能使用正则表达式之外,Scanner类还可以任意地对字符串和基本类型(如int和double)的数据进行分析。借助于Scanner,可以针对任何要处理的文本内容编写自定义的语法分析器。例如:

public class NextTest  

    public static void main(String[] args)  

        String s1,s2;  

        Scanner sc=new Scanner(System.in);  

        System.out.print("请输入第一个字符串:");  

        s1=sc.nextLine();  

        System.out.print("请输入第二个字符串:");  

        s2=sc.next();  

        System.out.println("输入的字符串是:"+s1+" "+s2);  

     

运行结果是:

请输入第一个字符串:home

请输入第二个字符串:work

输入的字符串是:home work

扩展资料:

scanner中关于nextInt()、next()和nextLine()的理解

nextInt(): it only reads the int value, nextInt() places the cursor(光标) in the same line after reading the input.(nextInt()只读取数值,剩下”\\n”还没有读取,并将cursor放在本行中)

next(): read the input only till the space. It can’t read two words separated by space. Also, next() places the cursor in the same line after reading the input.(next()只读空格之前的数据,并且cursor指向本行) 

next() 方法遇见第一个有效字符(非空格,非换行符)时,开始扫描,当遇见第一个分隔符或结束符(空格或换行符)时,结束扫描,获取扫描到的内容,即获得第一个扫描到的不含空格、换行符的单个字符串。

nextLine(): reads input including space between the words (that is, it reads till the end of line \\n). Once the input is read, nextLine() positions the cursor in the next line. 

nextLine()时,则可以扫描到一行内容并作为一个字符串而被获取到。

参考技术A 扫描器,用来在控制台接收用户输入
Scanner scan=new Scanner(System.in);

以上是关于java中怎么用scanner的主要内容,如果未能解决你的问题,请参考以下文章

用java实现输入一个小于99999的数字 将各个位数倒叙与正序输出 怎么弄 求指教

java中用import引入另一个类的问题

java中如何使用scanner来实现数据的输入?

java正则表达式,请教大神

java中怎样读取控制台输入的整形数据

用JAVA代码写出,棚内有鸡和免,用户输入头和脚步的数量,输出鸡和兔的数量 求救