Scanner数据输入的一些学习

本文详细介绍了Java中Scanner类的使用,包括导入Scanner包,创建Scanner对象,以及如何通过nextInt(), nextDouble()等方法接收不同类型的用户输入。强调了数据类型的匹配原则,指出如果输入的数据类型与接收的方法不匹配,可能会导致错误。同时,通过实例展示了如何接收多个数据,指出连续输入的数据需以空格或回车分隔,并解释了为何输入后需按回车键才能读取数据。
摘要由CSDN通过智能技术生成

关于输入的一部分心得


  • Scanner输入一共分3步输入。

第一步 :先导包,输入在最前面。import java.util.Scanner;(如果没有这一项的话,程序会报错的)。

第二步 :创建需要输入的对象格式 :

 `Scanner ___ =new Scanner(System.in);

横线部分是你可以自己命名的部分(不可以是关键字 , 只要好区分开来就行)。例如

Scanner input=new Scanner(System.in);

第三步:接受创建的对象

例如int x=input.nextInt();//这里的右边数据(例子里面的input)需要与上述例子中左边的Scanner input 对应。


有一些需要注意的地方:

  • 1.在第三步里,可以先对x定义数据类型,但相应的是后面的next也要有所变化。

      	int x;
      	x=nextInt();
      	//或者是
      	double x=nextDouble();
    

对于Scanner有
nextBoolean()、nextByte()、nextShort()、nextInt()、nextLong()、nextFloat()和nextDouble这些类型,分别对应不同的数据类型。

  • 2.上述说明了不同的数据有不同的next对应。但是,如果是这样会报错吗?
    import java.util.Scanner;//导包
       public class Test{
       public static void main(String[] args){
       Scanner input = new Scanner(System.in);//创建对象
    double x=input.nextInt();//接受对象,这里输入12
    System.out.println("x="+x);//输出数据。
    

输出结果:
在这里插入图片描述

这可以的原因是double范围大,int可以自动转换为double,如果这里反过来写成

  import java.util.Scanner;
  	public class Test{
  	public static void main(String[] args){
  	
  	Scanner input = new Scanner(System.in);
  	int x=input.nextDouble();//还是输入12
  	System.out.println("x="+x);//输出数据。
 

在这里插入图片描述

就报错了。所以还是写一一对应的类型比较好吧。

  • 3 上述都只是输入一个数据,如果变成二个呢(多个现在还在研究以后学了再写吧。)
    	 int a,b ;//输入两数相加。 
    	   Scanner input=new Scanner(System.in);
    	   a=input.nextInt();
    	   b=input.nextInt();//现在输入2,3;
    	 System.out.println("a+b="+(a+b));
    	//这里a,b得括号括起来。
    

在这里插入图片描述

这里只要输入了2项以空格或者回车隔开的数据就会直接相加了。


如果换成以下例子的话。

        int a,b ;
   	   Scanner input=new Scanner(System.in);
   	   Scanner input2=new Scanner(System.in);
   	   a=input.nextInt();
   	   b=input2.nextInt();//还是同样输入2,3;//这里的变化是b变成input2了。
        System.out.println("a+b="+(a+b));

在这里插入图片描述

上图没有输出而是停在下了,还在等待输入。这就是说如果只在一行输入数据,按空格也好,都是不会输出的,只有按了回车键到下一行才会读取数据。而且是只读取第一项(也就是按空格前的那些)。第二行同理。
在这里插入描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值