JAVA_05_입출력

18647 단어 JavaJava

입력

Scanner

  • 문자, 문장으로도 콘솔 창에 입력 가능
  1. import java.util.Scanner or
    import java.util.*
    : 맨위에 Import the Scanner class
  1. Scanner 입력이름 = new Scanner(System.in);
    : Create a Scanner object. Scanner 객체 생성
    • Scanner input = new Scanner(System.in);
    • Scanner scan = new Scanner(System.in);
  1. 타입형 변수이름 = 입력이름.next인풋타입();
    : Read user input
    • int i = input.nextInt();
    • String a = scan.nextLine();

  1. 출력
  1. 입력이름.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

좋은 웹페이지 즐겨찾기