首页 > 其他分享 >Scanner类

Scanner类

时间:2024-03-06 22:16:19浏览次数:28  
标签:String s1 System println sc Scanner

Scanner

Scanner: 其中有一个作用是获取键盘上的符号

构造方法:
    Scanner(InputStream source)  构造一个新的 Scanner ,产生从指定输入流扫描的值。
    InputStream 字节流

这里是从键盘输入字符串类型 next() 的和整数类型 nextInt() 的

import java.util.Scanner;

public class ScannerDemo1 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一个字符串:");
        String s1 = sc.next();
        System.out.println("请输入一个整数:");
        int s2 = sc.nextInt();
        
    }
}

当 next() 换成 nextLine() 的时候就不一样了

1.当 next() 在 next() 前面
import java.util.Scanner;

public class ScannerDemo1 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一个字符串:");
//        String s1 = sc.next();
        String s1 = sc.nextLine();
        System.out.println("请输入一个整数:");
        int s2 = sc.nextInt();
        
    }
}
结果为:一样能正常运行

image-20240306210458145

2.当 nextLine() 在 nextInt() 后面
import java.util.Scanner;

public class ScannerDemo1 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一个整数:");
//        String s1 = sc.next();
        int s1 = sc.nextInt();
//        String s1 = sc.nextLine();
        System.out.println("请输入一个字符串:");
//        int s2 = sc.nextInt();
        String s2 = sc.nextLine();

    }
}
结果为:直接在输入完整数之后输出提示句后结束运行了

image-20240306210808560

原因:因为Scanner不是直接接收输入的内容,类比一下,Scanner内部有一个管道,先输入了10,但是在10的后面有个换行符,这个换行符是 nextInt() 前面的println给到的换行符,而 nextLine() 是可以接收换行符的,所以 nextLine() 是把换行符接收到了,不再接收后面的输入值,接着结束了运行,再想输入 nextLine() 的值的时候是不行的

判断输入的数据是否是想要的类型的数据

public boolean hasNextInt() 判断管道中的下一个数据是否是整数
import java.util.Scanner;

public class ScannerDemo1 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一个整数:");
        int s1=0;
        if (sc.hasNextInt()){
            s1 = sc.nextInt();
        }else{
            Scanner sc1 = new Scanner(System.in);
            System.out.println("请输入一个整数:");
            s1= sc1.nextInt();
        }
//        String s1 = sc.next();
//        String s1 = sc.nextLine();
        System.out.println("请输入一个字符串:");
//        int s2 = sc.nextInt();
        String s2 = sc.next();
        System.out.println("s1"+s1);
        System.out.println("s2"+s2);

    }
}

标签:String,s1,System,println,sc,Scanner
From: https://www.cnblogs.com/peculiar/p/18057729

相关文章

  • Java流程控制01:用户交互Scanner
    Scanner对象1.Java提供了一个实现程序和人交互的工具类,可以获取用户的输入。Java.util.Scanner是Java5的新特征,可以通过Scanner类来获取用户的输入。2.基本语法: 3.通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取欠我们一般需要使用hasNext()......
  • java中 Scanner类 使用相关情况
    1、Scanner类使用Scanner对象之前我们学的基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以获取用户的输入。java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入。◆基本语法:Scanners=newScanner(System.in);......
  • Scanner—使用next方式接收
    packagescanner;importjava.util.Scanner;publicclassnext{publicstaticvoidmain(String[]args){//1.创建一个扫描器对象,用于接收键盘数据Scannerscanner=newScanner(System.in);//输入newScanner(System.in)Alt+回车System.ou......
  • Scanner—使用nextLine方式接收
    packagescanner;importjava.util.Scanner;publicclassnextLine{publicstaticvoidmain(String[]args){//1.创建一个扫描器对象,用于接收键盘数据Scannerscanner=newScanner(System.in);//new.Scanner(System.in)Alt+回车System.......
  • Scanner对象
    Scanner对象之前我们学的基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样一个工具,我们可以获取用户的输入。java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入。基本语法:Scanners=newScanner(System.in);通过Scanner类的next()......
  • 19_Java流程控制01-Scanner进阶使用
    Scanner进阶使用整数:hasNextInt()——nextInt()小数:hasNextFloat()——nextFloat()if:判断语句while:循环语句练习:循环输入,求和与平均数,回车确认,非数字结束指令并输出结果。Scannerscanner=newScanner(System.in);//开始doublesum=0;intm=0;System.out.println("请输......
  • scanner
    packagecom.zzl.scanner;importjava.util.Scanner;publicclassDemo1{publicstaticvoidmain(String[]args){//创建一个扫描器对象,用于接收键盘数据Scannerscanner=newScanner(System.in);System.out.println("使用next方式接收");//判断用户有没有输入字符串......
  • Java流程控制-Scanner对象
    Scanner对象我们可以通过Scanner类来获取用户的输入基本语法Scanners=newScanner(System.in);通过Scanner类的next()与nextLine()方式来获取输入的字符串,在读取之前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。 next......
  • java基础语法api之键盘录入Scanner对象
    一:概述Scanner再开发中比较常使用,它可以实现键盘录入,让用户输入信息。实现简单的交互。在这里对其进行详细的介绍。二:具体介绍首先这个Scanner类在java.util包下的,在每次使用之前都需要进行导包。<1>JDK_API帮助文档对其的定义<2>在基础阶段,常用的成员方法<2>数据求和的案例import......
  • scanner的用法
    scanner的用法定义一个scannerScannerscanner=newScanner(system.in)字符串用法publicclassDemo01{  publicstaticvoidmain(String[]args){    Scannerscanner=newScanner(System.in);//创建一个扫描器对象,用于接受键盘数据    System.out......