API(Application Programming Interface)

Joy๐ŸŒฑยท2022๋…„ 12์›” 25์ผ
0

โ˜• Java

๋ชฉ๋ก ๋ณด๊ธฐ
7/40
post-thumbnail

๐Ÿ’โ€ API(Application Programming Interface)๋ž€,
์‘์šฉํ”„๋กœ๊ทธ๋žจ์—์„œ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋„๋ก, ์šด์˜์ฒด์ œ๋‚˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“  ์ธํ„ฐํŽ˜์ด์Šค
์šฐ๋ฆฌ๊ฐ€ ๊ตฌํ˜„ํ•  ์ˆ˜ ์—†๊ฑฐ๋‚˜ ๊ตฌํ˜„ํ•˜๊ธฐ ๋ฒˆ๊ฑฐ๋กœ์šด ๊ธฐ๋Šฅ์„ JDK๋ฅผ ์„ค์น˜ํ•˜๋ฉด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ œ๊ณตํ•ด๋†“์€ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์˜๋ฏธ

  • ๋ชจ๋“  ์ฝ”๋“œ๋ฅผ ์™ธ์šธ ์ˆ˜ ์—†์œผ๋ฏ€๋กœ API ๋ฌธ์„œ๋ฅผ ๋ณ„๋„๋กœ ์ œ๊ณตํ•ด์คŒ

๐Ÿ‘€ java.lang.Math Class

๐Ÿ’โ€ ์ˆ˜ํ•™์—์„œ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ์ƒ์ˆ˜๋“ค๊ณผ method๋“ค์„ ๋ฏธ๋ฆฌ ๊ตฌํ˜„ํ•ด๋†“์€ Class

  • API ๋ฌธ์„œ์—์„œ ํ™•์ธํ•˜๋ฉด Math ํด๋ž˜์Šค๋Š” ๋ชจ๋‘ static์œผ๋กœ ์„ ์–ธ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ static method ํ˜ธ์ถœ ๋ฐฉ์‹์œผ๋กœ ํ˜ธ์ถœ

1) ์ ˆ๋Œ€๊ฐ’

System.out.println("-7์˜ ์ ˆ๋Œ€๊ฐ’ : " + (java.lang.Math.abs(-7)));
System.out.println("-7์˜ ์ ˆ๋Œ€๊ฐ’ : " + (Math.abs(-7)));
>>> java.lang. ์ƒ๋žต๊ฐ€๋Šฅ

๐Ÿ“Œ Ref.

* java.lang ํŒจํ‚ค์ง€ ํ•˜์œ„์— ์žˆ๋Š” ํด๋ž˜์Šค๋Š” import ๊ตฌ๋ฌธ์ด ๋ถˆํ•„์š”
  ์›Œ๋‚™ ์ž์ฃผ ์“ฐ๋Š” ๊ธฐ๋Šฅ์ด ๋‹ด๊ธด ํŒจํ‚ค์ง€์—ฌ์„œ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ import java.lang.*; ์ด๋ผ๋Š” ์ฝ”๋“œ๋ฅผ ์ž๋™์œผ๋กœ ์ถ”๊ฐ€ํ•ด์„œ ์ปดํŒŒ์ผํ•จ

2) ์ตœ๋Œ€๊ฐ’, ์ตœ์†Œ๊ฐ’

System.out.println("10๊ณผ 20 ์ค‘ ๋” ์ž‘์€ ๊ฒƒ์€ : " + Math.min(10, 20));
System.out.println("10๊ณผ 20 ์ค‘ ๋” ํฐ ๊ฒƒ์€ : " + Math.max(10, 20));

3) ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๊ณ ์ •๋œ ๊ฐ’

์ˆ˜ํ•™์ ์œผ๋กœ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๊ณ ์ •๋œ ๊ฐ’๋“ค๋„ ์ด๋ฏธ math์— ์ •์˜๋œ ๊ฒƒ์ด ์žˆ์Œ(ํ•„๋“œ)

System.out.println("์›์ฃผ์œจ : " + Math.PI);

3) ๋‚œ์ˆ˜ ๋ฐœ์ƒ

0๋ถ€ํ„ฐ 1์ „๊นŒ์ง€์˜ ์‹ค์ˆ˜ ํ˜•ํƒœ์˜ ๋‚œ์ˆ˜๋ฅผ ๋ฐœ์ƒ

System.out.println("๋‚œ์ˆ˜ ๋ฐœ์ƒ : " + Math.random());

[1] ๋‚œ์ˆ˜์˜ ํ™œ์šฉ

  • Math.random()์„ ์ด์šฉํ•ด ๋ฐœ์ƒํ•œ ๋‚œ์ˆ˜๋Š” 0๋ถ€ํ„ฐ 1์ „๊นŒ์ง€์˜ ์‹ค์ˆ˜ ๋ฒ”์œ„์˜ ๋‚œ์ˆ˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚ด
  • ํ•„์š”์— ๋”ฐ๋ผ ์ •์ˆ˜ ํ˜•ํƒœ์˜ ๊ฐ’์„ ์›ํ•˜๋Š” ๋ฒ”์œ„๋งŒํผ ๋ฐœ์ƒ์‹œ์ผœ์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๋“ค์ด ์กด์žฌํ•˜๋Š”๋ฐ, ํ•„์š”ํ•œ ๋ฒ”์œ„๊นŒ์ง€ ๋‚œ์ˆ˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๋Š” ๊ณผ์ •์€ ์•„๋ž˜์™€ ๊ฐ™์Œ

(int) (Math.random() * ๊ตฌํ•˜๋ ค๋Š” ๋‚œ์ˆ˜์˜ ๊ฐœ์ˆ˜) + ๊ตฌํ•˜๋ ค๋Š” ๋‚œ์ˆ˜์˜ ์ตœ์†Œ๊ฐ’

// 0 ~ 9๊นŒ์ง€์˜ ๋‚œ์ˆ˜ ๋ฐœ์ƒ
int random1 = (int)(Math.random() * 10);
System.out.println("0๋ถ€ํ„ฐ 9์‚ฌ์ด์˜ ๋‚œ์ˆ˜ : " + random1);
		
// 1 ~ 10๊นŒ์ง€์˜ ๋‚œ์ˆ˜ ๋ฐœ์ƒ
int random2 = (int)(Math.random() * 10) +1;
System.out.println("1๋ถ€ํ„ฐ 10์‚ฌ์ด์˜ ๋‚œ์ˆ˜ : " + random2);
		
// 10 ~ 15 ๊นŒ์ง€์˜ ๋‚œ์ˆ˜ ๋ฐœ์ƒ 
int random3 = (int)(Math.random() * 6) +10;
System.out.println("19๋ถ€ํ„ฐ 97์‚ฌ์ด์˜ ๋‚œ์ˆ˜ : " + random3);
		
// byte ํƒ€์ž…์ด ๊ฐ€์ง€๋Š” ๊ฐ’์˜ ๋ฒ”์œ„๋งŒํผ ๋‚œ์ˆ˜ ๋ฐœ์ƒ (-128 ~ 127)
int random4 = (int)(Math.random() * 256) -128;
System.out.println("byte ํƒ€์ž…์ด ๊ฐ€์ง€๋Š” ๊ฐ’์˜ ๋ฒ”์œ„ ์‚ฌ์ด์˜ ๋‚œ์ˆ˜ : " + random4);
		
// 19 ~ 97 ๊นŒ์ง€์˜ ๋‚œ์ˆ˜ ๋ฐœ์ƒ */ // (97-19)+1=79 / (max-min)+1= n 
int random5 = (int)(Math.random() * 79) +19;
System.out.println("19๋ถ€ํ„ฐ 97์‚ฌ์ด์˜ ๋‚œ์ˆ˜ : " + random5);

๐Ÿ‘€ java.util.Random Class

๐Ÿ’โ€ Math.random()๊ณผ๋Š” ๋˜ ๋‹ค๋ฅธ Random class
java.util.Random class์˜ nextInt() ๋ฉ”์†Œ๋“œ๋ฅผ ์ด์šฉํ•œ ๋‚œ์ˆ˜ ๋ฐœ์ƒ

  • random.nextInt(bound) : 0๋ถ€ํ„ฐ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ „๋‹ฌ๋ฐ›์€ ์ •์ˆ˜ ๋ฒ”์œ„๊นŒ์ง€์˜ ๋‚œ์ˆ˜๋ฅผ ๋ฐœ์ƒ์‹œ์ผœ ์ •์ˆ˜ ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜
import java.util.Random; 
>>> java.util.Random์„ ์ง์ ‘ ์“ฐ๋Š” ๊ฒƒ ๋Œ€์‹  ์ „์ฒด๋ฅผ import 

public class Application3 {

	public static void main(String[] args) {

		Random random = new Random();
        >>> Random ๊ฐ์ฒด ์ƒ์„ฑ ํ›„, import (shift + ctrl + O)
		
		// 0๋ถ€ํ„ฐ 9๊นŒ์ง€์˜ ๋‚œ์ˆ˜ ๋ฐœ์ƒ
		int random1 = random.nextInt(10);
		System.out.println("0๋ถ€ํ„ฐ 9๊นŒ์ง€์˜ ๋‚œ์ˆ˜ : " + random1);

		// 1๋ถ€ํ„ฐ 10๊นŒ์ง€์˜ ๋‚œ์ˆ˜ ๋ฐœ์ƒ 
		int random2 = random.nextInt(10) +1;
		System.out.println("1๋ถ€ํ„ฐ 10๊นŒ์ง€์˜ ๋‚œ์ˆ˜ : " + random2);
		
		// 20๋ถ€ํ„ฐ 45๊นŒ์ง€์˜ ๋‚œ์ˆ˜ ๋ฐœ์ƒ 
		int random3 = random.nextInt(26) +20;
        >>> (45-20)+1=26
		System.out.println("20๋ถ€ํ„ฐ 45๊นŒ์ง€์˜ ๋‚œ์ˆ˜ : " + random3);
	}
}

๐Ÿ‘€ java.util.Scanner Class

๐Ÿ’โ€ ์ฝ˜์†” ํ™”๋ฉด์— ๊ฐ’์„ ์ž…๋ ฅ ๋ฐ›์•„ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๋Š” Class

  • ์ด๋Ÿฐ ์–ด๋ ค์šด ๊ธฐ๋Šฅ ๋˜ํ•œ ๋ฏธ๋ฆฌ JDK๋ฅผ ์„ค์น˜ํ•˜๋ฉด ์†์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌํ˜„ํ•ด๋†“์Œ
import java.util.Scanner;
>>> java.util.Scanner์„ ์ง์ ‘ ์“ฐ๋Š” ๊ฒƒ ๋Œ€์‹  ์ „์ฒด๋ฅผ import 

public class Application1 {
	
	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
        >>> Scanner ๊ฐ์ฒด ์ƒ์„ฑ ํ›„, import (shift + ctrl + O)

1) ์ž๋ฃŒํ˜•๋ณ„ ๊ฐ’ ์ž…๋ ฅ ๋ฐ›๊ธฐ

[1] ๋ฌธ์ž์—ด ์ž…๋ ฅ ๋ฐ›๊ธฐ

		>>> nextLine() : ์ž…๋ ฅ ๋ฐ›์€ ๊ฐ’์„ ๋ฌธ์ž์—ด๋กœ ๋ฐ˜ํ™˜ํ•ด์คŒ
        
		System.out.print("์ด๋ฆ„์„ ์ž…๋ ฅํ•˜์„ธ์š” : ");
		String name = sc.nextLine();
		System.out.println("์ž…๋ ฅํ•˜์‹  ์ด๋ฆ„์€ " + name + "์ž…๋‹ˆ๋‹ค.");

[2] ์ •์ˆ˜ํ˜• ๊ฐ’ ์ž…๋ ฅ ๋ฐ›๊ธฐ

		>>> nextInt() : ์ž…๋ ฅ ๋ฐ›์€ ๊ฐ’์„ intํ˜•์œผ๋กœ ๋ฐ˜ํ™˜ํ•ด์คŒ 
		 
         
		System.out.print("๋‚˜์ด๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š” : ");
		int age = sc.nextInt();
		System.out.println("์ž…๋ ฅํ•˜์‹  ๋‚˜์ด๋Š” " + age + "์ž…๋‹ˆ๋‹ค.");
		
		>>> nextLong() : ์ž…๋ ฅ ๋ฐ›์€ ๊ฐ’์„ longํ˜•์œผ๋กœ ๋ฐ˜ํ™˜ํ•ด์คŒ
		
		System.out.print("๊ธˆ์•ก์„ ์ž…๋ ฅํ•˜์„ธ์š” : ");
		long money = sc.nextLong();
		System.out.println("์ž…๋ ฅํ•˜์‹  ๊ธˆ์•ก์€ " + money + "์› ์ž…๋‹ˆ๋‹ค.");

๐Ÿ“Œ Ref.

* ์ˆซ์ž๊ฐ€ ์•„๋‹Œ ๊ฐ’์„ ์ž…๋ ฅํ•˜๊ฒŒ ๋˜๋ฉด java.util.InputMismatchException์ด ๋ฐœ์ƒ
* int ๋ฒ”์œ„๋ฅผ ์ดˆ๊ณผํ•œ ๊ฐ’์„ ์ž…๋ ฅํ•˜๊ฒŒ ๋˜๋ฉด ์—ญ์‹œ InputMismatchException์ด ๋ฐœ์ƒ

[3] ์‹ค์ˆ˜ํ˜• ๊ฐ’ ์ž…๋ ฅ ๋ฐ›๊ธฐ

		>>> nextFloat() : ์ž…๋ ฅ ๋ฐ›์€ ๊ฐ’์„ float ํ˜•์œผ๋กœ ๋ฐ˜ํ™˜ํ•จ 
        
		System.out.print("ํ‚ค๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š” : ");
		float height = sc.nextFloat();
		System.out.println("์ž…๋ ฅํ•˜์‹  ํ‚ค๋Š” " + height + "cm ์ž…๋‹ˆ๋‹ค.");
		
		>>> nextDouble() : ์ž…๋ ฅ ๋ฐ›์€ ๊ฐ’์„ double ํ˜•์œผ๋กœ ๋ฐ˜ํ™˜ํ•จ 

		System.out.print("์›ํ•˜๋Š” ์‹ค์ˆ˜๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š” : ");
		double number = sc.nextDouble();
		System.out.println("์ž…๋ ฅํ•˜์‹  ์‹ค์ˆ˜๋Š” " + number + "์ž…๋‹ˆ๋‹ค.");

๐Ÿ“Œ Ref.

* ์ˆซ์ž๊ฐ€ ์•„๋‹Œ ๊ฐ’์„ ์ž…๋ ฅํ•˜๊ฒŒ ๋˜๋ฉด java.util.InputMismatchException์ด ๋ฐœ์ƒ
* ์ •์ˆ˜ ์ž…๋ ฅ ์‹œ ์‹ค์ˆ˜๋กœ ๋ณ€ํ™˜ ํ›„ ์ •์ƒ ๋™์ž‘ํ•˜๋ฉฐ ๊ธธ์ด๋ฅผ ๊ธธ๊ฒŒ ์ž…๋ ฅํ•˜๋ฉด ์œ ํšจ์ž๋ฆฌ ์ˆซ์ž๊นŒ์ง€๋งŒ ํ‘œํ˜„

[4] ๋…ผ๋ฆฌํ˜• ๊ฐ’ ์ž…๋ ฅ ๋ฐ›๊ธฐ

		>>> nextBoolean() : ์ž…๋ ฅ ๋ฐ›์€ ๊ฐ’์„ boolean ํ˜•์œผ๋กœ ๋ฐ˜ํ™˜ํ•จ 
		 
		System.out.print("์ฐธ๊ณผ ๊ฑฐ์ง“ ์ค‘์— ํ•œ ๊ฐ€์ง€๋ฅผ true or false๋กœ ์ž…๋ ฅํ•˜์„ธ์š” : ");
		boolean isTrue = sc.nextBoolean();
		System.out.println("์ž…๋ ฅํ•˜์‹  ๋…ผ๋ฆฌ ๊ฐ’์€ " + isTrue + "์ž…๋‹ˆ๋‹ค.");

๐Ÿ“Œ Ref.

* true of false ์™ธ์˜ ๋‹ค๋ฅธ ๊ฐ’์„ ์ž…๋ ฅํ•˜๊ฒŒ ๋˜๋ฉด InputTypeMismatchException ๋ฐœ์ƒ

[5] ๋ฌธ์žํ˜• ๊ฐ’ ์ž…๋ ฅ ๋ฐ›๊ธฐ

  • ๋ฌธ์ž๋ฅผ ์ง์ ‘ ์ž…๋ ฅ ๋ฐ›๋Š” ๊ธฐ๋Šฅ์€ ์ œ๊ณตํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๋ฌธ์ž์—ด๋กœ ์ž…๋ ฅ ๋ฐ›๊ณ , ์ž…๋ ฅ ๋ฐ›์€ ๋ฌธ์ž์—์„œ ์›ํ•˜๋Š” ์ˆœ๋ฒˆ์งธ ๋ฌธ์ž๋ฅผ ๋ถ„๋ฆฌํ•ด์„œ ์‚ฌ์šฉํ•ด์•ผํ•จ
  • java.lang.String์˜ charAt(int index)๋ฅผ ์‚ฌ์šฉ
  • index๋ฅผ ์ •์ˆ˜ํ˜•์œผ๋กœ ์ž…๋ ฅํ•˜๋ฉด ๋ฌธ์ž์—ด์—์„œ ํ•ด๋‹น ์ธ๋ฑ์Šค์— ์žˆ๋Š” ํ•œ ๋ฌธ์ž๋ฅผ ๋ฌธ์žํ˜•์œผ๋กœ ๋ฐ˜ํ™˜ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ์„ ํ•จ
  • index๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ์ˆซ์ž ์ฒด๊ณ„์ด๋ฉฐ ์ปดํ“จํ„ฐ์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ์‹
  • ๋งŒ์•ฝ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ์ธ๋ฑ์Šค๋ฅผ ์ž…๋ ฅํ•˜๊ฒŒ ๋˜๋ฉด java.lang.StringIndexOutOfBoundsException์ด ๋ฐœ์ƒ
		sc.nextLine(); >>> ์ผ๋‹จ '๋ฌธ์ž์—ด'๋กœ ๋ฝ‘๊ธฐ
		System.out.print("์•„๋ฌด ๋ฌธ์ž๋‚˜ ์ž…๋ ฅ ํ•ด์ฃผ์„ธ์š” : ");
		char ch = sc.nextLine().charAt(0);
        >>> ์ž…๋ ฅํ•œ ๋ฌธ์ž์—ด์˜ ์ฒซ๋ฒˆ์งธ(0)์ž๋ฆฌ์˜ ๋ฌธ์ž๋ฅผ ๋ฝ‘์•„์ฃผ๋Š” ์‹
        >>> (์–ด์งœํ”ผ ๋ฌธ์ž ํ•˜๋‚˜๋งŒ ์ž…๋ ฅ์‹œ, ์ฒซ๋ฒˆ์งธ๋Š” ๊ทธ ๋ฌธ์ž ํ•˜๋‚˜์ด๋ฏ€๋กœ ๊ทธ ๋ฌธ์ž๊ฐ€ ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅ๋จ)
		System.out.println("์ž…๋ ฅํ•˜์‹  ๋ฌธ์ž๋Š” " + ch + "์ž…๋‹ˆ๋‹ค.");
		>>> Hyoyeon์„ ์ž…๋ ฅํ•ด๋„, H๋ฅผ ์ž…๋ ฅํ•ด๋„ ์ฒซ๋ฒˆ์งธ ์ž๋ฆฌ์˜ ๋ฌธ์ž์ธ H๋งŒ ์ถœ๋ ฅ๋จ

2) Scanner์˜ nextLine()๊ณผ next()

  • nextLine() : '๊ณต๋ฐฑ์„ ํฌํ•จํ•œ ํ•œ ์ค„'์„ ์ž…๋ ฅ์„ ์œ„ํ•œ ๊ฐœํ–‰๋ฌธ์ž ์ „๊นŒ์ง€ ์ฝ์–ด์„œ ๋ฌธ์ž์—ด๋กœ ๋ฐ˜ํ™˜
  • next() : ๊ณต๋ฐฑ ๋ฌธ์ž๋‚˜ ๊ฐœํ–‰ ๋ฌธ์ž ์ „๊นŒ์ง€๋ฅผ ์ฝ์–ด์„œ ๋ฌธ์ž์—ด๋กœ ๋ฐ˜ํ™˜
Scanner sc = new Scanner(System.in); 
>>> Scanner ๊ฐ์ฒด ์ƒ์„ฑ
>>> System.in : ํ‘œ์ค€ ์ž…๋ ฅ ์ŠคํŠธ๋ฆผ
		
// nextLine() 
>>> ๊ณต๋ฐฑ์„ ํฌํ•จํ•œ ํ•œ ์ค„์„ ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅ
System.out.print("์ธ์‚ฌ๋ง์„ ์ž…๋ ฅํ•ด์ฃผ์‹ญ์‡ผ : ");
String greeting1 = sc.nextLine();
System.out.println(greeting1);
		
// 2-2. next() 
>>> ๊ณต๋ฐฑ ์ดํ›„์˜ ์ค„์€ ์ถœ๋ ฅํ•˜์ง€์•Š์Œ
System.out.print("ํ•œ๋ฒˆ ๋” ์ธ์‚ฌํ•ด์ฃผ์‹ญ์‡ผ : ");
String greeting2 = sc.next();
System.out.println(greeting2);

๐Ÿ˜ˆ Warning

[1] next()๋กœ ๋ฌธ์ž์—ด ์ž…๋ ฅ ๋ฐ›์€ ํ›„ ์ •์ˆ˜, ์‹ค์ˆ˜, ๋…ผ๋ฆฌ๊ฐ’ ์ž…๋ ฅ ๋ฐ›์„ ๋•Œ,

"์•ˆ๋…•ํ•˜์„ธ์š” ๋ฐ˜๊ฐ‘์Šต๋‹ˆ๋‹ค" ์ž…๋ ฅ ์‹œ ๊ณต๋ฐฑ์„ ๊ธฐ์ค€์œผ๋กœ ๋‘ ๊ฐœ์˜ ํ† ํฐ "์•ˆ๋…•ํ•˜์„ธ์š”", "๋ฐ˜๊ฐ‘์Šต๋‹ˆ๋‹ค"๋กœ ๋ถ„๋ฆฌ๊ฐ€ ๋จ
next()๋Š” ๋‹ค์Œ ํ† ํฐ์ธ "์•ˆ๋…•ํ•˜์„ธ์š”"๋ฅผ ์ฝ์—ˆ๊ณ  nextInt()๋Š” ๋‹ค์Œ ํ† ํฐ์„ ์ •์ˆ˜๋กœ ์ฝ์–ด์•ผ ํ•˜๋Š”๋ฐ ๋‚จ์•„์žˆ๋˜ "๋ฐ˜๊ฐ‘์Šต๋‹ˆ๋‹ค"๊ฐ€ ์ฝํ˜€์„œ InputMismatchException์ด ๋ฐœ์ƒํ•œ๋‹ค.
๋”ฐ๋ผ์„œ, ๊ณต๋ฐฑ์ด ์žˆ๋Š” ๋ฌธ์ž์—ด์„ ์ž…๋ ฅ๋ฐ›์„ ๊ฒฝ์šฐ์—๋Š” nextLine()์„ ์‚ฌ์šฉ

Scanner sc = new Scanner(System.in);
		
System.out.print("๋ฌธ์ž์—ด์„ ์ž…๋ ฅํ•ด์ฃผ์„ธ์šฉ : ");
>>> "์•ˆ๋…•ํ•˜์„ธ์š” ๋ฐ˜๊ฐ‘์Šต๋‹ˆ๋‹ค"๋ฅผ ์ž…๋ ฅ
String str1 = sc.next();
System.out.println("str1 : " + str1);
>>> "์•ˆ๋…•ํ•˜์„ธ์š”"๋งŒ ์ถœ๋ ฅํ•˜๋ฉด์„œ InputMismatchException ์˜ค๋ฅ˜ ๋ฐœ์ƒ

System.out.print("์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์„ธ์šฉ : ");
int num1 = sc.nextInt();
System.out.println("num1 : " + num1);
>>> ์˜ค๋ฅ˜๋กœ ์ธํ•ด ์ˆซ์ž ์ถœ๋ ฅ์ด ๋˜์ง€์•Š์Œ

[2] ์ •์ˆ˜, ์‹ค์ˆ˜, ๋…ผ๋ฆฌ๊ฐ’ ์ž…๋ ฅ ํ›„ nextLine()์œผ๋กœ ๋ฌธ์ž์—ด ์ž…๋ ฅ ๋ฐ›์„ ๋•Œ

์•ž์—์„œ ๋‚จ๊ธด ๊ฐœํ–‰์„ nextLine()์ด ์ฝ๊ณ  ๋„˜์–ด๊ฐ€์„œ ์•„๋ฌด๊ฒƒ๋„ ์ž…๋ ฅํ•˜์ง€ ์•Š์•˜๋Š”๋ฐ ์ถœ๋ ฅ๋˜๊ณ  ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ
๋”ฐ๋ผ์„œ, ๋ฏธ๋ฆฌ ๋˜ ๋‹ค๋ฅธ nextLine()์„ ํ˜ธ์ถœํ•ด์„œ ๋ฒ„ํผ๋ฅผ ๋น„์šฐ๊ณ  ๋™์ž‘

System.out.print("๋‹ค์‹œ ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์„ธ์šฉ : ");
int num2 = sc.nextInt(); 
System.out.println("num2 : " + num2);
>>> ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•œ ๋’ค์— ์นœ 'enter'๊ฐ€ ์•„๋ž˜์˜ nextLine์— ์ž…๋ ฅ์„ ๋ชป ํ•˜๋„๋ก ์˜ํ–ฅ์„ ์คŒ
		
sc.nextLine(); 
>>> ๋ฐ‘์—์„œ ์ž…๋ ฅ์„ ์ •์ƒ ์ž‘๋™์‹œํ‚ค๊ธฐ์œ„ํ•ด ๋ฏธ๋ฆฌ ํ˜ธ์ถœํ•œ nextLine
>>> ์—ฌ๊ธฐ์„œ ์œ„์—์„œ ์ž…๋ ฅํ•œ enter๋ฅผ ๋จน์–ด๋ฒ„๋ฆผ
				
System.out.println("๊ณต๋ฐฑ์ด ์žˆ๋Š” ๋ฌธ์ž์—ด์„ ํ•˜๋‚˜ ์ž…๋ ฅํ•ด์ฃผ์„ธ์šฉ : ");
String str2 = sc.nextLine();
System.out.println("str2 : " + str2);
>>> ๋งŒ์•ฝ ์œ„์— ๋ฏธ๋ฆฌ ํ˜ธ์ถœํ•œ nextLine์ด ์—†๋‹ค๋ฉด, ์—ฌ๊ธฐ์„œ ์ฝ˜์†”์ฐฝ์— ์ž…๋ ฅ์„ ํ•˜๋ ค๊ณ  ํ•ด๋„ ๋ง‰ํ˜€์„œ ๋ชป ํ•จ
>>> ์™œ๋ƒํ•˜๋ฉด, nextLine์€ ์œ„์—์„œ ์ž…๋ ฅํ•œ enter๋ฅผ ๋จน๋Š” ํŠน์„ฑ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์‹คํ–‰ํ•˜์ง€์•Š๊ณ  ๊ทธ๋Œ€๋กœ ์ข…๋ฃŒ๋˜์–ด๋ฒ„๋ฆผ

profile
Tiny little habits make me

0๊ฐœ์˜ ๋Œ“๊ธ€

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด