Java 입력
Scanner
import java.util.Scanner;
public class example {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("입력 : ");
String name = scanner.next();
int intNum = scanner.nextInt();
double doubleNum = scanner.nextDouble();
boolean condition = scanner.nextBoolean();
System.out.printf("%s / %d / %f / %b%n", name, intNum, doubleNum, condition);
String problem = scanner.nextLine();
System.out.printf("마지막으로 %s가 입력되었습니다.%n", problem);
}
}
import java.util.Scanner;
public class example {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("입력 : ");
String name = scanner.next();
int intNum = scanner.nextInt();
double doubleNum = scanner.nextDouble();
boolean condition = scanner.nextBoolean();
System.out.printf("%s / %d / %f / %b%n", name, intNum, doubleNum, condition);
String problem = scanner.nextLine();
System.out.printf("마지막으로 %s가 입력되었습니다.%n", problem);
}
}
Scanner 클래스의 메소드들은 키보드로 부터 입력받은 내용을 토큰단위로 하나씩 읽는다.
Scanner 클래스의 다른 메소드들과 nextLine() 메소드를 혼용할 때 주의해야 한다. 타입을 지정해서 받는 메소드들은 'Enter'를 무시하고 읽어들이는데, 이 때 위의 예시와 같이 입력 스트림에 남아있던 'Enter'를 의도와 다르게 nextLine() 메소드가 읽는다. 참고로 nextLine() 메소드는 'Enter'를 포함하는 한 라인을 읽고 읽은 내용에서 'Enter'를 버린 후 반환한다.
BufferedReader
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class example {
public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line = null;
System.out.print("입력 : ");
try {
line = br.readLine();
}catch(IOException e) {
e.printStackTrace();
}
StringTokenizer st = new StringTokenizer(line);
String name = st.nextToken();
int intNum = Integer.parseInt(st.nextToken());
double doubleNum = Double.parseDouble(st.nextToken());
boolean condition = Boolean.parseBoolean(st.nextToken());
//String array[] = line.split(" ");
System.out.printf("%s / %d / %f / %b%n", name, intNum, doubleNum, condition);
}
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class example {
public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line = null;
System.out.print("입력 : ");
try {
line = br.readLine();
}catch(IOException e) {
e.printStackTrace();
}
StringTokenizer st = new StringTokenizer(line);
String name = st.nextToken();
int intNum = Integer.parseInt(st.nextToken());
double doubleNum = Double.parseDouble(st.nextToken());
boolean condition = Boolean.parseBoolean(st.nextToken());
//String array[] = line.split(" ");
System.out.printf("%s / %d / %f / %b%n", name, intNum, doubleNum, condition);
}
}
Scanner 클래스와 다르게 버퍼를 사용하여 많은 양의 내용을 입력받을 경우 효율적이고 빠른 작업이 가능하다. readLine() 메소드를 통해 한 줄의 내용을 입력받아 String 타입의 변수에 저장하고, 내용을 가공하는 방식으로 사용한다.
Author And Source
이 문제에 관하여(Java 입력), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@noeb/Java-입력저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)