Java

[Java] μžλ°” μŠ€μΊλ„ˆ(Scanner) ν΄λž˜μŠ€μ™€ hasNext() / next() ν•¨μˆ˜ ✍️

🌟 Sean 🌟 2024. 11. 15. 09:37

πŸ‘¨‍πŸ’» μžλ°”λ₯Ό κ³΅λΆ€ν•˜λŠ” 쀑, 처음으둜 μ ‘ν•œ μž…λ ₯방식 Scanner ν΄λž˜μŠ€μ΄λ‹€.

 

책에 λ‚΄μš©μ— 따라 μ•„λž˜μ™€ 같이 μ‹€μŠ΅μ„ ν•˜λ˜μ€‘ μ •μˆ˜κ°€ μ•„λ‹Œ 값을 μž…λ ₯ν–ˆμ„λ•Œ μ •μˆ˜κ°€ μ•„λ‹Œ 경우 νŒλ³„ν•˜λŠ” κ°„λ‹¨ν•œ

ν”„λ‘œκ·Έλž¨μ„ λ§Œλ“€κ³  μ‹Άμ—ˆλ‹€.

 

Scanner 클래슀λ₯Ό μ‚¬μš©ν•  μ‹œ util νŒ¨ν‚€μ§€λ₯Ό import λ₯Ό 톡해 ν˜ΈμΆœν•΄μ£Όμ–΄μ•Ό ν•œλ‹€.

 

  • μ •μˆ˜ μž…λ ₯값에 λŒ€ν•΄μ„œλ§Œ μž…λ ₯λ‚΄μš© 좜λ ₯ν•˜κΈ°
import java.util.Scanner;

public class scanner {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);

		System.out.println("μ •μˆ˜λ₯Ό μž…λ ₯ν•΄μ£Όμ„Έμš”.>");
		String input = sc.nextLine();
		int num = Integer.parseInt(input);

		System.out.println("μž…λ ₯λ‚΄μš© :" + input);
		System.out.printf("num=%d%n", num);

	}

}

 

  • 좜λ ₯κ²°κ³Ό

μ •μˆ˜λ₯Ό μž…λ ₯ν•΄μ£Όμ„Έμš”.>

1004

μž…λ ₯λ‚΄μš© :1004

num=1004

 

πŸ’‘ μž…λ ₯ν•œ 값이 μ •μˆ˜μΈμ§€ νŒλ³„ν•˜κΈ° μœ„ν•΄ if(쑰건문) 을 ν™œμš©ν•΄μ„œ true 와 false 값을 λ¦¬ν„΄ν•˜λŠ” hasNext() ν•¨μˆ˜λ₯Ό ν™œμš©ν–ˆλ‹€.

import java.util.Scanner;

public class Hello {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		System.out.print("두 자리 μ •μˆ˜λ₯Ό μž…λ ₯ν•΄μ£Όμ„Έμš”.>");

		if (sc.hasNextInt()) {
			int a = sc.nextInt();
			System.out.println("μž…λ ₯λ‚΄μš© :" + a);
		} else {
			System.out.println("μ •μˆ˜κ°€ μ•„λ‹™λ‹ˆλ‹€");
		}

	}
}

 

πŸ”¦  μΆœλ ₯κ²°κ³Ό ( μ •μˆ˜ μž…λ ₯ μ‹œ )

μ •μˆ˜λ₯Ό μž…λ ₯ν•΄μ£Όμ„Έμš”.>

1004

μž…λ ₯λ‚΄μš© :1004

 

πŸ”¦   좜λ ₯κ²°κ³Ό ( 문자 μž…λ ₯ μ‹œ )

μ •μˆ˜λ₯Ό μž…λ ₯ν•΄μ£Όμ„Έμš”.>

μ²œμ‚¬

μ •μˆ˜κ°€ μ•„λ‹™λ‹ˆλ‹€

 

 

 

πŸ’‘ μ •μˆ˜κ°€ μ•„λ‹Œ 문자λ₯Ό μž…λ ₯ν–ˆμ„ λ•Œλ„ 좜λ ₯을 ν•΄μ£Όκ³  μ‹Άμ–΄μ„œ else if 문에 hasNext() μΆ”κ°€ν–ˆλ‹€.

 

import java.util.Scanner;

public class scanner {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);

		System.out.println("값을 μž…λ ₯ν•΄μ£Όμ„Έμš”.>");
		String ch;
		int a;
		if (sc.hasNextInt()) {
			a = sc.nextInt();
			System.out.println("숫자 μž…λ ₯ λ‚΄μš© :" + a);
		} else if (sc.hasNext()) {
			ch = sc.next();
			System.out.println("문자 μž…λ ₯ λ‚΄μš© :" + ch);
		} else {
			System.out.println("값을 λ‹€μ‹œ μž…λ ₯ν•˜μ„Έμš”.");
		}
	}
}

 

πŸ”¦  μΆœλ ₯κ²°κ³Ό ( μ •μˆ˜ μž…λ ₯ μ‹œ )

값을 μž…λ ₯ν•΄μ£Όμ„Έμš”.>

1004

숫자 μž…λ ₯ λ‚΄μš© :1004

 

πŸ”¦   μΆœλ ₯κ²°κ³Ό ( 문자 μž…λ ₯ μ‹œ )

값을 μž…λ ₯ν•΄μ£Όμ„Έμš”.>

μ²œμ‚¬

문자 μž…λ ₯ λ‚΄μš© :μ²œμ‚¬


πŸ’’ self feedback 

λ‚΄κ°€ μž‘μ„±ν•œ μ½”λ“œλ³΄λ‹€ 더 효율적인 방법이 μ‘΄μž¬ν•˜κ² μ§€λ§Œ, λ‚΄κ°€ μ›ν•˜λŠ” κΈ°λŠ₯을 슀슀둜 κ΅¬ν˜„ν•΄λ‚˜κ°ˆλ•Œ 큰 성취감을 μ–»λŠ” 것 κ°™λ‹€.

Scanner ν΄λž˜μŠ€μ™€ hasNext() , Next() ν•¨μˆ˜μ— λŒ€ν•œ κ°œλ…λ“€μ„ 더 μžμ„Έν•˜κ³  μ •ν™•νžˆ μ•Œμ•„λ³Ό ν•„μš”κ°€ μžˆλ‹€.