JAVA_05_입출력
입력
Scanner
- 문자, 문장으로도 콘솔 창에 입력 가능
import java.util.Scanner
or
import java.util.*
: 맨위에 Import the Scanner class
Scanner 입력이름 = new Scanner(System.in);
: Create a Scanner object. Scanner 객체 생성
Scanner input = new Scanner(System.in);
Scanner scan = new Scanner(System.in);
타입형 변수이름 = 입력이름.next인풋타입();
: Read user input
int i = input.nextInt();
String a = scan.nextLine();
- 출력
입력이름.close();
: 종료
input.close();
scan.close();
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("정수를 입력하세요.");
int i = input.nextInt();
System.out.println("입력된 정수는 " + i + " 입니다.");
Scanner sc = new Scanner(System.in);
System.out.println("문장을 입력하세요.");
String s = sc.nextLine();
System.out.println("입력된 문장은 " + s + " 입니다.");
input.close();
sc.close();
}
}
문자열 ⇄ 숫자
문자열 → 숫자
1. Scanner 객체 생성
Scanner 참조변수scan = new Scanner(System.in);
2. String 변수에
scan리모콘
으로nextLine()
메소드 사용한 결과를 저장
String 변수명str = scan.nextLine();
3. str을 해당 메소드의 매개변수로 받아서 -> 문자열을 숫자로
int 변수명i = Integer.parseInt(str);
2+3. 한번에!
int 변수명i = scan.nextInt();
숫자 → 문자열
빈문자열 ""
+ 숫자
import java.util.Scanner;
public class ScanfTest {
public static void main(String[] args) {
// Scanner
// 객체 생성
Scanner scan = new Scanner(System.in);
// 객체 사용
String str = scan.next();
int i = Integer.parseInt(str);
System.out.println(i);
scan.close();
}
}
실습하자
입력실습
import java.util.Scanner;
public class ScanfTest {
public static void main(String[] args) {
// Scanner
// 객체 생성
Scanner scan = new Scanner(System.in);
// 객체 사용
int num1 = scan.nextInt();
String s = scan.next();
System.out.println(num1);
System.out.println(s);
scan.close();
}
}
✨띄어쓰기로 두번 입력 가능!!
✨Scanner 생성 한번이면 여러번 사용 가능!
✨next()
- nextLine()
비교
next()
- (숫자/문자) 띄어쓰기나 엔터 전까지 = 💖공백 전💖까지
- 숫자나 문자를 공백 전까지 받아 문자열로!
nextLine()
- (숫자/문자) 💖엔터 전💖까지
- 앞에 공백이 있으면 공백까지 포함한 문자열로!
import java.util.Scanner;
public class ScanfTest {
public static void main(String[] args) {
// Scanner
// 객체 생성
Scanner scan = new Scanner(System.in);
// 객체 사용
String s1 = scan.next();
String s2 = scan.nextLine();
int num1 = scan.nextInt();
System.out.println(s1);
System.out.println(s2);
System.out.println(num1);
scan.close();
}
}
nextLine()
을 제외한 다른 건 공백을 기준으로 받는다고 생각하면 된다.
파일에 입력된 정수에 100을 곱해 출력하는 프로그램을 만들자
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
File file = new File("input.txt");
try {
Scanner sc = new Scanner(file);
while(sc.hasNextInt())
{
System.out.println(sc.nextInt() * 100);
}
sc.close();
} catch (FileNotFoundException e) {
System.out.println("파일을 읽어오는 도중에 오류가 발생했습니다.");
}
}
}
이건 설명 불가능하다. ->
tutorial7
500000
3000
문자가 있다면 문자 뒤에 있는 정수는 취급하지 않는다.
Ref
Author And Source
이 문제에 관하여(JAVA_05_입출력), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@lecharl/JAVA05저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)