java中scanner怎么用?

java中scanner怎么用?,第1张

1、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类型的数据;

2、下面是一个实例:

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)

}

}

运行结果:C:\java>java     Example请输入若干个数,每输入一个数用回车确认最后输入一个非数字结束输入 *** 作34.13445d3个数的和为113.1000003个数的平均值是37.700000

用法:

1、ScannernextInt()只读取数值,剩下"\n"还没有读取,并将cursor放在本行中。

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

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

4、在每一个next()、nextDouble()、nextFloat()、nextInt()等语句之后加一个nextLine()语句,将被next()去掉的Enter结束符过滤掉。

例如:

1、代码如下:

publicclassNextTest{

publicstaticvoidmain(String[]args){

Strings1,s2

Scannersc=newScanner(System.in)

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

s1=sc.next()

sc.nextLine()

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

s2=sc.nextLine()

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

}

}

2、运行结果:

请输入第一个字符串:home

请输入第二个字符串:work

输入的字符串是:homework

扩展资料:

Scanner使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹配。然后可以使用不同的next方法将得到的标记转换为不同类型的值。

例如:

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

Scannersc=newScanner(System.in)

inti=sc.nextInt()

2、以下代码使long类型可以通过myNumbers文件中的项分配:

Scannersc=newScanner(newFile("myNumbers"))

while(sc.hasNextLong()){

longaLong=sc.nextLong()

}

参考资料来源:百度百科—Scanner


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11442907.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存