Java에서 Scanner 지우기

Rupam Yadav 2023년10월12일
  1. Java에서 Scanner를 지우려면nextLine()을 사용하세요
  2. Java에서Scanner를 지우는 새Scanner 개체 만들기
Java에서 Scanner 지우기

Java의Scanner 클래스는 종종 입력 또는 출력을 가져 오는 데 사용됩니다. 기능을 사용하기 위해Scanner 클래스의 객체를 만듭니다.

Scannerclose()메서드는이 메서드에 의해 일단Scanner가 닫히면 입력 스트림이 닫혀서 입력을받을 수 없기 때문에 사용할 수 없습니다.

Java에서Scanner를 지우는 다른 방법이 있으며 다음은 이러한 방법을 설명하는 예입니다.

Java에서 Scanner를 지우려면nextLine()을 사용하세요

Scanner를 지우고 파괴하지 않고 다시 사용하려면Scanner 클래스의nextLine()메서드를 사용하여 현재 행을 스캔 한 다음Scanner를 수행 할 다음 행으로 설정합니다. 새 라인의 다른 작업.

아래 예에서while 루프 내부에서 사용자에게 입력을 요청하고hasNextInt(radix)를 사용하여 유효한 바이너리인지 확인합니다. 유효한 바이너리이면binary 변수에 저장되고, 바이너리 값이 아니면 사용자에게 유효한 바이너리 값을 입력하라는 메시지가 출력됩니다.

이 상황에서Scanner를 지우지 않으면 루프가 끝나지 않습니다. 값이 바이너리가 아니면Scanner는 새 입력을 받기 위해 새 줄로 이동해야합니다. 이것이nextLine()을 사용하여 현재 줄을 건너 뛰고 새 줄로 이동하는 이유입니다.

import java.util.Scanner;

public class ClearScanner {
  public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    int binary = 0;
    int radix = 2;

    while (binary == 0) {
      System.out.print("Please input a valid binary: ");

      if (input.hasNextInt(radix)) {
        binary = input.nextInt(radix);
      } else {
        System.out.println("Not a Valid Binary");
      }
      input.nextLine();
    }

    System.out.print("Converted Binary: " + binary);
  }
}

출력:

Java 클리어 Scanner

Java에서Scanner를 지우는 새Scanner 개체 만들기

Scanner를 지우는 또 다른 방법은 사용자가 이진 값이 아닌 값을 입력 할 때 새Scanner 개체를 만드는 것입니다. 이 방법은 새 개체가 생성 될 때 기존의 Scanner개체가 지워지고 새 입력 스트림이 시작되기 때문에 작동합니다.

import java.util.Scanner;

public class ClearScanner {
  public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    int binary = 0;
    int radix = 2;

    while (binary == 0) {
      System.out.print("Please input a valid binary: ");

      if (input.hasNextInt(radix)) {
        binary = input.nextInt(radix);
      } else {
        System.out.println("Not a Valid Binary");
      }

      input = new Scanner(System.in);
    }

    System.out.print("Converted Binary: " + binary);
  }
}

출력:

Please input a valid binary: 23
Not a Valid Binary
Please input a valid binary: 11101
Converted Binary: 29
작가: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

관련 문장 - Java Scanner