Backend/Java

[Java]Scanner ํด๋ž˜์Šค(Console์—์„œ ๊ฐ’ ์ž…๋ ฅ ๋ฐ›๊ธฐ)

sukii 2023. 12. 4. 18:40
๋ฐ˜์‘ํ˜•

๐Ÿ”ถSystem.in : ํ‚ค๋ณด๋“œ๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ๋œ ๊ฐ’์„ ์–ป์–ด์™€ ํ”„๋กœ๊ทธ๋žจ์— ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ์ฒด - ์ž…๋ ฅ์ŠคํŠธ๋ฆผ
๐Ÿ”ถSystem.out : ํ”„๋กœ๊ทธ๋žจ์˜ ๊ฐ’์„ ํ™”๋ฉด(์ฝ˜์†”)์— ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ์ฒด - ์ถœ๋ ฅ์ŠคํŠธ๋ฆผ

 

โšซScanner ํด๋ž˜์Šค : ์ž…๋ ฅ์ŠคํŠธ๋ฆผ(ํ‚ค๋ณด๋“œ, ํŒŒ์ผ ๋“ฑ)์„ ์ œ๊ณต๋ฐ›์•„ ์›ํ•˜๋Š” ์ž๋ฃŒํ˜•์˜ ๊ฐ’์„ ์ž…๋ ฅ๋ฐ›๊ธฐ ์œ„ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณต๋ฐ›๊ธฐ ์œ„ํ•œ ๊ธฐ๋Šฅ(๋ฉ”์†Œ๋“œ)๊ฐ€ ์„ ์–ธ๋œ ํด๋ž˜์Šค

Scanner ํด๋ž˜์Šค๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•œ ํ›„ ์ฐธ์กฐ๋ณ€์ˆ˜์— ์ €์žฅ
=> new Scanner(System.in) : ํ‚ค๋ณด๋“œ๋กœ๋ถ€ํ„ฐ ์ œ๊ณต๋œ ๊ฐ’์„ ์–ป์–ด์˜ฌ ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด ์ƒ์„ฑ
=> ์ƒ์„ฑ๋œ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐ๋ณ€์ˆ˜์— ์ €์žฅํ•˜์—ฌ ์ฐธ์กฐ๋ณ€์ˆ˜๋กœ ๊ฐ์ฒด์˜ ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

 

Scanner ๋ฉ”์†Œ๋“œ ํ‘œ

  ํ˜•์‹ ๋ฉ”์†Œ๋“œ
๋…ผ๋ฆฌํ˜• boolean nextBoolean()
์ •์ˆ˜ํ˜• byte nextByte()
short nextShort()
Int nextInt()
long nextLong()
์‹ค์ˆ˜ํ˜• double nextDouble()
float nextFloat()
๋ฌธ์ž String next()
nextLine() => ์—”ํ„ฐํ‚ค๋กœ ๊ตฌ๋ถ„

 

+ close() : Scanner ๊ฐ์ฒด๊ฐ€ ์‚ฌ์šฉํ•œ ์ž…๋ ฅ์ŠคํŠธ๋ฆผ์„ ์ œ๊ฑฐํ•˜๋Š” ๋ฉ”์†Œ๋“œ

 

์˜ˆ์ œ

package basic;

//import : ๋‹ค๋ฅธ ํŒจํ‚ค์ง€์˜ ํด๋ž˜์Šค๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ํ‚ค์›Œ๋“œ
import java.util.Scanner;

//์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ํ‚ค๋ณด๋“œ๋กœ ์ด๋ฆ„๊ณผ ๋‚˜์ด๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ํ™”๋ฉด์— ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ ์ž‘์„ฑ
public class ScannerApp {
	public static void main(String[] args) {
		Scanner scanner=new Scanner(System.in);
		
		System.out.print("์ด๋ฆ„ ์ž…๋ ฅ >> ");
		//Scanner.nextline() : ์ž…๋ ฅ๊ฐ’์„ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฉ”์†Œ๋“œ
		//ํ‚ค๋ณด๋“œ๋กœ ์ž…๋ ฅ๋œ ๊ฐ’์„ ๋ฌธ์ž์—ด๋กœ ๋ฐ˜ํ™˜๋ฐ›์•„ ๋ณ€์ˆ˜์— ์ €์žฅ
		// => ํ‚ค๋ณด๋“œ ์ž…๋ ฅ๊ฐ’์ด ์—†๋Š” ๊ฒฝ์šฐ ํ”„๋กœ๊ทธ๋žจ์˜ ํ๋ฆ„(์Šค๋ ˆ๋“œ)์ด ์ผ์‹œ ์ค‘์ง€
		// => ํ‚ค๋ณด๋“œ๋กœ ๊ฐ’์„ ์ž…๋ ฅํ•œ ํ›„ ์—”ํ„ฐ(Enter)๋ฅผ ๋ˆŒ๋Ÿฌ ํ”„๋กœ๊ทธ๋žจ์˜ ํ๋ฆ„์ด ์žฌ์‹คํ–‰๋˜๋„๋ก ์ฒ˜๋ฆฌ
		String name=scanner.nextLine();
		
		System.out.print("๋‚˜์ด ์ž…๋ ฅ >> ");
		//Scanner.nextInt() : ์ž…๋ ฅ๊ฐ’์„ ์ •์ˆ˜๊ฐ’์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฉ”์†Œ๋“œ
		// => ํ‚ค๋ณด๋“œ๋กœ ์ž…๋ ฅ๋œ ๊ฐ’์ด ์ •์ˆ˜๊ฐ’์ด ์•„๋‹Œ ๊ฒฝ์šฐ ์˜ˆ์™ธ(Exception) ๋ฐœ์ƒ - ํ”„๋กœ๊ทธ๋žจ ๊ฐ•์ œ ์ข…๋ฃŒ
		int age=scanner.nextInt();
		
		System.out.println("[๊ฒฐ๊ณผ]์ด๋ฆ„ = "+name+"๋‹˜์˜ ๋‚˜์ด๋Š” "+age+"์‚ด ์ž…๋‹ˆ๋‹ค.");
		
		//Scanner.close() : Scanner ๊ฐ์ฒด๊ฐ€ ์‚ฌ์šฉํ•œ ์ž…๋ ฅ์ŠคํŠธ๋ฆผ์„ ์ œ๊ฑฐํ•˜๋Š” ๋ฉ”์†Œ๋“œ
		scanner.close();
	}
}
๋ฐ˜์‘ํ˜•