java中怎么用scanner

怎么用scanner类输入数字、字符?并直接把输入的数字赋值给一个变量!希望能说的详细点,谢谢... 怎么用scanner类输入数字、字符?并直接把输入的数字赋值给一个变量!希望能说的详细点,谢谢 展开
 我来答
加百列windy
高粉答主

2018-10-18 · 每个回答都超有意思的
知道小有建树答主
回答量:2074
采纳率:100%
帮助的人:95万
展开全部

使用该类创建一个对象.

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 

du瓶邪
2015-08-11 · TA获得超过2.4万个赞
知道大有可为答主
回答量:1.7万
采纳率:100%
帮助的人:2895万
展开全部
  它是以前的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类型的数据。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
想玩游戏的猫
2018-05-07 · TA获得超过3.4万个赞
知道小有建树答主
回答量:457
采纳率:100%
帮助的人:15.7万
展开全部

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

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
孝昕圣飞翮
2019-10-02 · TA获得超过3793个赞
知道大有可为答主
回答量:3112
采纳率:28%
帮助的人:194万
展开全部
//导包
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);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
limin47397310
2009-11-10 · TA获得超过219个赞
知道答主
回答量:67
采纳率:0%
帮助的人:36.4万
展开全部
用Scanner scanner=new Scanner(System.in);就可以了;再用int x=scanner.nextInt();我这表示只接收int类型的数据,如果输入其他的数据要出问题的哦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式