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 중국어 웹사이트의 기타 관련 기사를 참조하세요!