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

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

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

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

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

java 多种数据类型输入 java怎么实现多组输入_System


      对于大部分学过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

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