java【三】之键盘输入以及acm的多组输入——详细解说

java【三】之键盘输入以及acm的多组输入

所有的努力,不是为了让别人觉得你了不起,

而是为了能让自己打心里看得起自己。

我知放弃不易 ,但坚持一定很酷!!!

书写是对思维的缓存!!!

      对于大部分学过C++,C的同学来说,可能有一点陌生,java是一门面向对象的语言 ,所以它的输入并不是先定义一个变量,再cin它;java没有提供诸如C/C++中的scanf输入函数,因此从键盘输入并不是一个简单的事情,为了方便起见,我今天在这里总结一下java之键盘输入以及acm的多组输入。我在这里仅介绍一种比较常见的输入方式。希望对大家有用!

首先我们要导入一个Scanner类:

import java.util.Scanner    //或者
import java.util.*          //这里*可以看成一个退位符

下面就给大家具体演示一下:

先解释一下关于Scanner类吧!

在Java SE 6及以上,可以使用Scanner类取得用户的输入,Scanner类位于java.util包中,如果你要使用Scanner取得用户输入的话,要加上 import java.util.Scanner;这条语句.import的功能是告诉编译器,你将使用java.util包中的Scanner类。

 new是创建一个对象,程序中new的意思是创建了一个Scanner类的对象scan。但是在创建Scanner类的对象时,需要用System.in 作为它的参数,也可以将Scanner看作是System.in对象的支持者,System.in取得用户输入的内容后,交给Scanner来作一些处理。
 ------------------------------------------------------------------------------------------------------------------       

Scanner类中提供了多个方法:

---------------------------------------------------------------------------------------------------------------------
                       next():取得一个字符串;   nextLine() 获取一行字符串;
                       nextInt():将取得的字符串转换成int类型的整数;
                       nextFloat():将取得的字符串转换成float;

                        nextDouble();将获取的字符串转化为double型
                       nextBoolean():将取得的字符串转换成boolean型;

****************************************************************************************************

ps:其实好多同学可能不能分清楚next()和nextLine()的区别

下面就有两者的区分详解:

       用Scanner获得用户的输入非常的方便,但是Scanner取得输入的依据是空格符,包括空格键,Tab键和Enter键.当按下这其中的任一键               时,Scanner就会返回下一个输入.。所以用nextLine()方法;

       Scanner类中next()与nextLine()方法的区别:next()与nextLine()区别很明确,next() 方法遇见第一个有效字符(不是空格和换行符)时,开始扫描,当遇见第一个分隔符或结束符(空格或换行符)时,结束扫描,获取扫描到的内容,也就是说使用next()方法获得的是不含空格和换行符的单个字符串。而使用nextLine()时,则可以扫描到一行内容并作为一个字符串而被获取到。

其实还有一些其他的方法:其他从键盘输入的方法

下面就是一些代码的验证:

  • 先验证两种不同的类的导入:
//  第一种:
import java.util.Scanner;
public class test {
    public static void main(String[] args)
    {
        Scanner input=new Scanner(System.in);
        String str=input.next();
        char[] array=str.toCharArray();    //使用toCharArray();可以将字符串转换为字符数组
        int len=str.length();
        for(int i=0;i<len;i++)
        {
            System.out.print(array[i]+" ");
        }
        System.out.print("\n");
    }
}
// 第一种输出结果:
D:\eclipse\jdk\bin\java.exe -Didea.launcher.port=64401 "-Didea.launcher.bin.path=D:\java_idea\IntelliJ IDEA 2019.1\bin" -Dfile.encoding=UTF-8 -classpath "D:\java_idea\out\production\java_idea_source;D:\java_idea\IntelliJ IDEA 2019.1\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMainV2 test
imissyouqiuqiu
i m i s s y o u q i u q i u 

Process finished with exit code 0


//  第二种
import java.util.*;
public class test {
    public static void main(String[] args)
    {
        Scanner input=new Scanner(System.in);
        String str=input.next();
        char[] array=str.toCharArray();    //使用toCharArray();可以将字符串转换为字符数组
        int len=str.length();
        for(int i=0;i<len;i++)
        {
            System.out.print(array[i]+" ");
        }
        System.out.print("\n");
    }
}

//  输出结果:
D:\eclipse\jdk\bin\java.exe -Didea.launcher.port=64442 "-Didea.launcher.bin.path=D:\java_idea\IntelliJ IDEA 2019.1\bin" -Dfile.encoding=UTF-8 -classpath "D:\java_idea\out\production\java_idea_source;D:\java_idea\IntelliJ IDEA 2019.1\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMainV2 test
IMISSYOUQIUQIU
I M I S S Y O U Q I U Q I U 

Process finished with exit code 0
  • 再为大家验证next与nextLine的区别:
//    next();
import java.util.Scanner;
public class test {
    public static void main(String[] args)
    {
        Scanner input=new Scanner(System.in);
        String str=input.next();
        char[] array=str.toCharArray();    //使用toCharArray();可以将字符串转换为字符数组
        int len=str.length();
        for(int i=0;i<len;i++)
        {
            System.out.print(array[i]+" ");
        }
        System.out.print("\n");
    }
}
//   输出结果:
D:\eclipse\jdk\bin\java.exe -Didea.launcher.port=64502 "-Didea.launcher.bin.path=D:\java_idea\IntelliJ IDEA 2019.1\bin" -Dfile.encoding=UTF-8 -classpath "D:\java_idea\out\production\java_idea_source;D:\java_idea\IntelliJ IDEA 2019.1\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMainV2 test
I LOVE CHINA
I 

Process finished with exit code 0


//    nextLine();
import java.util.Scanner;
public class test {
    public static void main(String[] args)
    {
        Scanner input=new Scanner(System.in);
        String str=input.nextLine();
        char[] array=str.toCharArray();    //使用toCharArray();可以将字符串转换为字符数组
        int len=str.length();
        for(int i=0;i<len;i++)
        {
            System.out.print(array[i]);
        }
        System.out.print("\n");
    }
}
//  输出结果:
D:\eclipse\jdk\bin\java.exe -Didea.launcher.port=64664 "-Didea.launcher.bin.path=D:\java_idea\IntelliJ IDEA 2019.1\bin" -Dfile.encoding=UTF-8 -classpath "D:\java_idea\out\production\java_idea_source;D:\java_idea\IntelliJ IDEA 2019.1\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMainV2 test
I miss you
I miss you

Process finished with exit code 0

  • nextLine();
import java.util.Scanner;
public class test {
    public static void main(String[] args)
    {
        Scanner input=new Scanner(System.in);
        String str=input.nextLine();
        char[] array=str.toCharArray();    //使用toCharArray();可以将字符串转换为字符数组
        int len=str.length();
        for(int i=0;i<len;i++)
        {
            System.out.print(array[i]);
        }
        System.out.print("\n");
        int t=input.nextInt();
        System.out.println(t);
    }
}


D:\eclipse\jdk\bin\java.exe -Didea.launcher.port=64921 "-Didea.launcher.bin.path=D:\java_idea\IntelliJ IDEA 2019.1\bin" -Dfile.encoding=UTF-8 -classpath "D:\java_idea\out\production\java_idea_source;D:\java_idea\IntelliJ IDEA 2019.1\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMainV2 test
球球,一路有你,真好!
球球,一路有你,真好!
20200830
20200830

Process finished with exit code 0
  • 其他类型:
  • import java.util.Scanner;
    public class test {
        public static void main(String[] args)
        {
            Scanner input=new Scanner(System.in);
            String str=input.nextLine();
            char[] array=str.toCharArray();    //使用toCharArray();可以将字符串转换为字符数组
            int len=str.length();
            for(int i=0;i<len;i++)
            {
                System.out.print(array[i]);
            }
            System.out.print("\n");
            int t=input.nextInt();
            System.out.println(t);
            double a=input.nextDouble();
            System.out.println(a);
            float m=input.nextFloat();
            System.out.println(m);
        }
    }
    //  输出
    D:\eclipse\jdk\bin\java.exe -Didea.launcher.port=65054 "-Didea.launcher.bin.path=D:\java_idea\IntelliJ IDEA 2019.1\bin" -Dfile.encoding=UTF-8 -classpath "D:\java_idea\out\production\java_idea_source;D:\java_idea\IntelliJ IDEA 2019.1\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMainV2 test
    遇见你真好!@qiuqiu
    遇见你真好!@qiuqiu
    20190830
    20190830
    11.21
    11.21
    11.35
    11.35
    
    Process finished with exit code 0
    

    acm之多组输入:

  • acm之多组输入:
  • // 多组输入之字符串
    import java.util.Scanner;
    public class test {
        public static void main(String[] args)
        {
            Scanner input=new Scanner(System.in);
            while(input.hasNext())
            {
                String a=input.nextLine();
                String b=input.nextLine();
                System.out.println(a+b);
            }
    
        }
    }
    //   输出
    D:\eclipse\jdk\bin\java.exe -Didea.launcher.port=65305 "-Didea.launcher.bin.path=D:\java_idea\IntelliJ IDEA 2019.1\bin" -Dfile.encoding=UTF-8 -classpath "D:\java_idea\out\production\java_idea_source;D:\java_idea\IntelliJ IDEA 2019.1\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMainV2 test
    我们跨过山河 
    在湖中大 相遇 真好
    我们跨过山河 在湖中大 相遇 真好
    i miss you  
    i love china
    i miss you  i love china
    
    
    //  多组输入之实数
    import java.util.Scanner;
    public class test {
        public static void main(String[] args)
        {
            Scanner input=new Scanner(System.in);
            while(input.hasNext())
            {
                int a=input.nextInt();
                double b=input.nextDouble();
                System.out.println(a+" "+b);
            }
    
        }
    }
    // 输出结果
    D:\eclipse\jdk\bin\java.exe -Didea.launcher.port=65414 "-Didea.launcher.bin.path=D:\java_idea\IntelliJ IDEA 2019.1\bin" -Dfile.encoding=UTF-8 -classpath "D:\java_idea\out\production\java_idea_source;D:\java_idea\IntelliJ IDEA 2019.1\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMainV2 test
    20190830
    8.30
    2190830 8.3
    15115 
    4156.262
    15115 4156.262
    
  • acm之T组输入:
  • // 实型数据之T组输入
    import java.util.Scanner;
    public class test {
        public static void main(String[] args)
        {
            Scanner input=new Scanner(System.in);
            int t=input.nextInt();
            while(t>0)
            {
                int a=input.nextInt();
                double b=input.nextDouble();
                System.out.println(a+" "+b);
                t--;
            }
    
        }
    }
    //  输出结果
    D:\eclipse\jdk\bin\java.exe -Didea.launcher.port=65482 "-Didea.launcher.bin.path=D:\java_idea\IntelliJ IDEA 2019.1\bin" -Dfile.encoding=UTF-8 -classpath "D:\java_idea\out\production\java_idea_source;D:\java_idea\IntelliJ IDEA 2019.1\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMainV2 test
    5
    20190830
    8.30
    20190830 8.3
    155 2.3
    155 2.3
    45  926.31
    45 926.31
    15 2.3
    15 2.3
    151 3.2
    151 3.2
    
    Process finished with exit code 0
    
    // 字符串之T组输入
    import java.util.Scanner;
    public class test {
        public static void main(String[] args)
        {
            Scanner input=new Scanner(System.in);
            int t=input.nextInt();
            while(t>0)
            {
                String a=input.next();
                System.out.println(a);
                t--;
            }
    
        }
    }
    
    
    //   输出:
    D:\eclipse\jdk\bin\java.exe -Didea.launcher.port=49263 "-Didea.launcher.bin.path=D:\java_idea\IntelliJ IDEA 2019.1\bin" -Dfile.encoding=UTF-8 -classpath "D:\java_idea\out\production\java_idea_source;D:\java_idea\IntelliJ IDEA 2019.1\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMainV2 test
    5
    在最美的年纪
    在最美的年纪
    遇见最美的你
    遇见最美的你
    是最美的风景
    是最美的风景
    胖桢,球球,周净,谭冉,215
    胖桢,球球,周净,谭冉,215
    奋斗的风景才说最美的
    奋斗的风景才说最美的
    
    Process finished with exit code 0
    

    喜欢的话,就点个赞吧!!!

发布了28 篇原创文章 · 获赞 58 · 访问量 3893

猜你喜欢

转载自blog.csdn.net/weixin_45882303/article/details/104400871
今日推荐