Java에서 Scanner 지우기
Java의Scanner
클래스는 종종 입력 또는 출력을 가져 오는 데 사용됩니다. 기능을 사용하기 위해Scanner
클래스의 객체를 만듭니다.
Scanner
의close()
메서드는이 메서드에 의해 일단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
를 지우는 새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 Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn