>Java >java지도 시간 >자바 스캐너 사용법에 대한 자세한 설명

자바 스캐너 사용법에 대한 자세한 설명

藏色散人
藏色散人원래의
2020-05-30 11:39:1810206검색

자바 스캐너 사용법에 대한 자세한 설명

Java 스캐너 사용법에 대한 자세한 설명

Java Scanner 클래스

java.util.Scanner는 Scanner 클래스를 통해 사용자 입력을 얻을 수 있습니다.

다음은 Scanner 개체를 생성하기 위한 기본 구문입니다.

Scanner s = new Scanner(System.in);

다음으로 Scanner 클래스의 next() 및 nextLine() 메서드를 통해 가장 간단한 데이터 입력을 보여주고 입력 문자열을 얻습니다. 아직 입력 데이터가 있는지 확인하려면 hasNext 및 hasNextLine을 사용해야 합니다.

다음 방법 사용:

ScannerDemo.java 파일 코드:

import java.util.Scanner; 
 
public class ScannerDemo {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        // 从键盘接收数据
 
        // next方式接收字符串
        System.out.println("next方式接收:");
        // 判断是否还有输入
        if (scan.hasNext()) {
            String str1 = scan.next();
            System.out.println("输入的数据为:" + str1);
        }
        scan.close();
    }
}

위 프로그램을 실행하면 출력 결과는 다음과 같습니다.

$ javac ScannerDemo.java
$ java ScannerDemo

다음 방법은 다음과 같습니다.

runoob com

입력 데이터 For: runoob

com 문자열이 출력되지 않는 것을 볼 수 있습니다. 다음은 nextLine을 살펴보겠습니다.

nextLine 메소드 사용:

ScannerDemo.java 파일 코드:

import java.util.Scanner;
 
public class ScannerDemo {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        // 从键盘接收数据
 
        // nextLine方式接收字符串
        System.out.println("nextLine方式接收:");
        // 判断是否还有输入
        if (scan.hasNextLine()) {
            String str2 = scan.nextLine();
            System.out.println("输入的数据为:" + str2);
        }
        scan.close();
    }
}

위 프로그램 실행의 출력 결과:

$ javac ScannerDemo.java
$ java ScannerDemo

nextLine 메소드 수신:

runoob com

입력 데이터: runoob com

You com 문자열 출력을 볼 수 있습니다.

next() 및 nextLine() 차이점

next():

1 입력을 종료하기 전에 유효한 문자를 읽어야 합니다.

2. next() 메소드는 유효한 문자를 입력하기 전에 발견된 공백을 자동으로 제거합니다.

3. 유효한 문자를 입력한 후에만 그 뒤에 입력된 공백을 구분 기호 또는 종결 기호로 사용하세요.

next()는 공백이 있는 문자열을 가져올 수 없습니다.

nextLine():

1. Enter는 끝 문자입니다. 이는 nextLine() 메서드가 입력하기 전의 모든 문자를 반환한다는 의미입니다.

2. 공백을 확보하세요.

int 또는 float 유형의 데이터를 입력하려는 경우 Scanner 클래스에서도 지원되지만 입력하기 전에 hasNextXxx() 메서드를 사용하여 확인한 후 nextXxx()를 사용하여 읽는 것이 가장 좋습니다.

ScannerDemo .java 파일 코드 :

import java.util.Scanner;
 
public class ScannerDemo {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        // 从键盘接收数据
        int i = 0;
        float f = 0.0f;
        System.out.print("输入整数:");
        if (scan.hasNextInt()) {
            // 判断输入的是否是整数
            i = scan.nextInt();
            // 接收整数
            System.out.println("整数数据:" + i);
        } else {
            // 输入错误的信息
            System.out.println("输入的不是整数!");
        }
        System.out.print("输入小数:");
        if (scan.hasNextFloat()) {
            // 判断输入的是否是小数
            f = scan.nextFloat();
            // 接收小数
            System.out.println("小数数据:" + f);
        } else {
            // 输入错误的信息
            System.out.println("输入的不是小数!");
        }
        scan.close();
    }
}

위 프로그램 실행의 출력 결과는 다음과 같습니다.

$ javac ScannerDemo.java
$ java ScannerDemo
输入整数:12
整数数据:12
输入小数:1.2
小数数据:1.2

다음 예에서는 여러 숫자를 입력하고 해당 숫자의 합과 평균을 Enter로 확인하고 입력을 종료합니다. 숫자가 아닌 값을 입력하고 실행 결과 출력:

ScannerDemo.java 파일 코드:

import java.util.Scanner;
 
class ScannerDemo {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
 
        double sum = 0;
        int m = 0;
 
        while (scan.hasNextDouble()) {
            double x = scan.nextDouble();
            m = m + 1;
            sum = sum + x;
        }
 
        System.out.println(m + "个数的和为" + sum);
        System.out.println(m + "个数的平均值是" + (sum / m));
        scan.close();
    }
}

위 프로그램 실행 결과 출력:

$ javac ScannerDemo.java
$ java ScannerDemo
12
23
15
21.4
end
4个数的和为71.4
4个数的平均值是17.85

Recommendation: "java learning"

위 내용은 자바 스캐너 사용법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.