0
点赞
收藏
分享

微信扫一扫

Scanner数据输入的一些学习

跟着Damon写代码 2022-03-12 阅读 57
学习java

关于输入的一部分心得


  • 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));

在这里插入图片描述

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

举报

相关推荐

0 条评论