Dev/Java

[Java ๊ธฐ์ดˆ] 4. ๋ฐฐ์—ด

KeyDi 2023. 3. 12. 03:24
728x90

๐Ÿ’ก3์žฅ ํ”ผ๋“œ๋ฐฑ Tip

๐Ÿ‘€ String ๋ง์…ˆ ์—ฐ์‚ฐ์€ ์ง€์–‘ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

String result = โ€œโ€;

for (int i = 0; i < 3; i++) {
		result = result + (i + ","); // "0,"
																 // "0, 1,"
                                 // "0, 1, 2,"
}

System.out.println(result);
๐Ÿ’ก
String์— ๋”ํ•˜๊ธฐ ์—ฐ์‚ฐ์„ ํ•  ๊ฒฝ์šฐ, ๊ฐ๊ฐ ๋”ํ•ด์ง„ ๋งŒํผ์˜ ๋ถˆํ•„์š”ํ•œ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.
  • String์€ final๋กœ ๊ตฌํ˜„๋˜์–ด์žˆ์Œ.
  • ์ตœ์ข… ๊ฒฐ๊ณผ๋งŒ result์— ๋Œ€์ž… ๋œ๋‹ค.

์œ„ ์ฝ”๋“œ์˜ ๊ฒฐ๊ณผ๋Š” ์ •์ƒ์ ์œผ๋กœ ์ถœ๋ ฅ ๋˜์ง€๋งŒ, ๋”ํ•ด์ง„ ๋ชจ๋“  ๊ฒฝ์šฐ์— ๋Œ€ํ•ด ์„œ๋กœ ๋‹ค๋ฅธ Stirng ๊ฐ์ฒด๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ ์ƒ์— ๊ฐ๊ฐ ์ƒ์„ฑ๋˜์–ด overhead๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

๋”ฐ๋ผ์„œ, ์ผ๋ฐ˜ String ๊ฐ์ฒด์— ๊ฐ’์„ ๋”ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์•„๋‹Œ, StringBuilder๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ append()๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

nextLine() ์‚ฌ์šฉ ๋ฌธ์ œ

int input = sc.nextInt();
sc.nextLine(); // ์ž…๋ ฅ๋ฒ„ํผ๋ฅผ ๋น„์›Œ์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.
System.out.println("์ด๋ฆ„>");
name = sc.nextLine();

nextLine() ํŠน์ง•

  • ํ•œ ์ค„ ๋‹จ์œ„๋กœ ์ž…๋ ฅํ•œ๋‹ค.
  • ์ฒ˜์Œ Enter ์ž…๋ ฅ์˜ ์›ํ•˜์ง€ ์•Š๋Š” ๊ฐœํ–‰ ๋ฌธ์ž ๊นŒ์ง€ ์ฝ๋Š”๋‹ค.
  • ๋”ฐ๋ผ์„œ ํ•œ๋ฒˆ ๋” nextLine()์„ ์•ž์ „์— ์‚ฌ์šฉํ•จ์œผ๋กœ์จ ๊ฐœํ–‰ ๋ฌธ์ž๋ฅผ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ๋‹ค.


๐Ÿ“˜ 4์žฅ ๋ฐฐ์—ด

๋ฐฐ์—ด(array) ์ด๋ž€ ๋™์ผ ์ข…๋ฅ˜์˜ ๋ณต์ˆ˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ์ €์žฅํ•˜๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ

Java ๋ฐฐ์—ด(Array) ์ž‘์„ฑ

int [] scores;       // ๋ฐฐ์—ด๋ณ€์ˆ˜์˜ ์„ ์–ธ 
scores = new int[5]; // ์š”์†Œ์˜ ์ž‘์„ฑ๊ณผ ๋Œ€์ž…
int[] scores = new int[5];

๋ฐฐ์—ด ๊ธธ์ด ๊ตฌํ•˜๊ธฐ

int[] scores = new int[5];
int count = scores.length;
System.out.println("๋ฐฐ์—ด์˜ ๊ธธ์ด: " + count);

๋ฐฐ์—ด ์š”์†Œ ๊ฐ’ ๋Œ€์ž…

int[] scores = new int[5];
for (int i = 0; i<scores.length; i++){
		scores[i] = i; // ๋ฐฐ์—ด ๊ฐ’ ๋Œ€์ž…
}
int [] scores1 = new int[] {10, 20, 30, 40, 50};
int [] scores2 = {1, 2, 3, 4, 5};

๋ฐฐ์—ด์˜ ์ดˆ๊ธฐํ™”

๐Ÿ’ก
intํ˜• ๋ฐฐ์—ด์€ ์„ ์–ธ๊ณผ ๋™์‹œ์— ๋ชจ๋“  ์š”์†Œ๊ฐ€ 0๋กœ ์ดˆ๊ธฐํ™” ๋œ๋‹ค.
๐Ÿ’ก
primitive type ๋ฐฐ์—ด์€ ์„ ์–ธ๊ณผ ๋™์‹œ์— ๊ธฐ๋ณธ ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™” ๋œ๋‹ค.
๐Ÿ’ก
String์€ reference type์˜ ๋ฐฐ์—ด์ด๊ณ  ์„ ์–ธ๊ณผ ๋™์‹œ์— null๋กœ ์ดˆ๊ธฐํ™” ๋œ๋‹ค.

IndexOutOfBoundsException

  • ๋ฐฐ์—ด ๋ฒ”์œ„ ๋ฒ—์–ด๋‚œ ์š”์†Œ ์ด์šฉํ•  ๋•Œ ์˜ˆ์™ธ(exception) ๋ฐœ์ƒ
package com.example;

public class Main {
    public static void main(String[] args) {
        int[] scores = {1, 2, 3, 4, 5};
        // index 5 ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚จ
        int sum = scores[0] + scores[1] + scores[2] + scores[3] + scores[5];
        double average = sum / 5;
        
        System.out.println(sum);
        System.out.println(average);
    }
}

โ†’ console์— ํ‘œ์‹œ๋œ ์˜ˆ์™ธ๋ฅผ ๋ณด๊ณ  ๋””๋ฒ„๊น… ํ•  ์ˆ˜ ์žˆ๋‹ค.

Debug Tool ์‚ฌ์šฉ

๋””๋ฒ„๊น… ๋ชจ๋“œ์—์„œ, ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒƒ ๊ฐ™์€ ์ง€์ ์— break ํฌ์ธํŠธ๋ฅผ ์ ์ ˆํžˆ ์‚ฌ์šฉํ•˜์—ฌ ๋ฒ„๊ทธ๋ฅผ ์ฐพ๋Š”๋‹ค.

  • F6 ํ•œ์ค„์”ฉ ์‹คํ–‰
  • F8์ „์ฒด ์‹คํ–‰

for each ๋ฌธ ( ํ™•์žฅ for ๋ฌธ )

package com.example;

public class Main {
    public static void main(String[] args) {
        int[] scores = {1, 2, 3, 4, 5};
        int sum = 0;

        for (int score : scores) { // for - each
            sum += score;
        }
        System.out.println(sum);
    }
}

  • ๋ฐฐ์—ด ์š”์†Œ์— ๋Œ€ํ•ด ๋ฐ˜๋ณต์„ ์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฉ”๋ชจ๋ฆฌ์™€ ๋ณ€์ˆ˜

// ๋ฐฐ์—ด ๋ณ€์ˆ˜ a๋Š” ์ฃผ์†Œ(reference)๊ฐ€ ์ €์žฅ๋จ
int[] a = { 1, 2, 3 };
int[] b;

b = a; // a ๋ฐฐ์—ด์˜ ์‹œ์ž‘ ์ฃผ์†Œ๊ฐ€ b์— ์ €์žฅ๋จ
b[0] = 100;
System.out.println(a[0]);
// b[0]์— 100์„ ๋„ฃ์—ˆ์œผ๋‚˜, a[0]๋„ 100์ด ์ถœ๋ ฅ๋จ.

๐Ÿ’ก
๋ฐฐ์—ด ๋ณ€์ˆ˜์—๋Š” ๊ฐ ์š”์†Œ๊ฐ€ ๋“ค์–ด ์žˆ๋Š” ๊ฒƒ์ด ์•„๋‹Œ, ์ตœ์ดˆ์˜ ์š”์†Œ ์ฃผ์†Œ(reference)๊ฐ€ ๋Œ€์ž… ๋œ๋‹ค.

์ฐธ์กฐ (reference)

๐Ÿ’ก
์ฐธ์กฐ(reference) : ๋ณ€์ˆ˜ ๋ช… ์ง€์ • ์‹œ, ๊ทธ ๊ฐ’์ด ์•„๋‹Œ ์ฃผ์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฒƒ
๐Ÿ’ก
์ฐธ์กฐ ํ˜•(reference type) ๋ณ€์ˆ˜ : ์ฃผ์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋ณ€์ˆ˜

๊ทธ ์™ธ int, double, boolean ๋“ฑ์˜ ๊ธฐ๋ณธํ˜•(primitive type)๋ณ€์ˆ˜์™€ ๊ตฌ๋ณ„ ๋œ๋‹ค.

๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜ (garbage collection)

์ผ๋ฐ˜์ ์œผ๋กœ ํ•จ์ˆ˜ ํ˜ธ์ถœ๊ณผ ๊ด€๋ จ๋œ ์ง€์—ญ, ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ๋ฉ”๋ชจ๋ฆฌ์˜ stack ์˜์—ญ์— ์ €์žฅ๋œ๋‹ค. ๋˜ํ•œ stack ์˜์—ญ์€ ํ•จ์ˆ˜ ํ˜ธ์ถœ๊ณผ ํ•จ๊ป˜ ํ• ๋‹น๋˜๊ณ , ํ•จ์ˆ˜ ํ˜ธ์ถœ์ด ์ข…๋ฃŒ๋˜๋ฉด pop๋˜์–ด ์†Œ๋ฉธํ•œ๋‹ค.

ํ•˜์ง€๋งŒ, new๋กœ ์‚ฌ์šฉ์ž์— ์˜ํ•ด ๋™์ ์œผ๋กœ ์ƒ์„ฑ๋œ ๊ฐ์ฒด ์š”์†Œ๋“ค์€ ๋ฉ”๋ชจ๋ฆฌ์˜ heap ์˜์—ญ์— ์ €์žฅ๋œ๋‹ค.

๐Ÿ’ก
๋”ฐ๋ผ์„œ, new๋กœ ์ƒ์„ฑ๋œ ๊ฐ์ฒด ์š”์†Œ๋“ค์€ ํ•ด๋‹น ๋ธ”๋ก์ด ๋๋‚˜๋„ ์ˆ˜๋ช…์ด ๋‹คํ•˜์ง€ ์•Š๊ณ , ๋ฉ”๋ชจ๋ฆฌ ์ƒ์— ์กด์žฌํ•œ๋‹ค.
๐Ÿ’ก
์ด๋ ‡๊ฒŒ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ฒŒ ๋œ ๋ฉ”๋ชจ๋ฆฌ๋Š” Java์—์„œ๋Š” ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜ (GC, Garbage Collection)์— ์˜ํ•ด ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ •๋ฆฌํ•ด ์ค€๋‹ค.
  • ChatGPT ์„ค๋ช…

    Java์˜ GC๋Š” JVM (Java Virtual Machine)์— ์˜ํ•ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. JVM์€ ์‹คํ–‰ ์ค‘์ธ Java ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ์„ ์ง€์†์ ์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋ฉฐ, ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‹๋ณ„ํ•˜์—ฌ ์ž๋™์œผ๋กœ ํ•ด์ œํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ณผ์ •์—์„œ, Java ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋˜๋ฉฐ, ๊ฐœ๋ฐœ์ž๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์— ๋” ์ด์ƒ ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค.

๐Ÿ“ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ

์ฝ”๋”ฉ๊ต์œก ํ‹ฐ์”จํ”ผ์Šค์ฟจ
4์ฐจ์‚ฐ์—…ํ˜๋ช…, ์ฝ”๋”ฉ๊ต์œก, ์†Œํ”„ํŠธ์›จ์–ด๊ต์œก, ์ฝ”๋”ฉ๊ธฐ์ดˆ, SW์ฝ”๋”ฉ, ๊ธฐ์ดˆ์ฝ”๋”ฉ๋ถ€ํ„ฐ ์ž๋ฐ” ํŒŒ์ด์ฌ ๋“ฑ
http://www.tcpschool.com/c/c_memory_structure

package com.example;

public class Main {
    public static void main(String[] args) {
        boolean b = true;
        if(b == true) {
            int[] nums = new int[] { 1, 2, 3 };
        }
        System.out.println(nums[1]); // ์ปดํŒŒ์ผ ์—๋Ÿฌ
    }
}
  • โ€œnumsโ€ ๋ณ€์ˆ˜๋Š” ๋ธ”๋ก ๋‚ด๋ถ€ ์„ ์–ธ๋œ ๋ณ€์ˆ˜์ด๋ฏ€๋กœ ์‚ฌ์šฉ ๋ถˆ๊ฐ€ํ•˜๋‹ค.
  • ํ•˜์ง€๋งŒ new๋กœ์„œ ์ƒ์„ฑ๋œ { 1, 2, 3 } ๊ฐ’์€ ๋ฉ”๋ชจ๋ฆฌ ๋‚ด์— ์กด์žฌํ•œ๋‹ค.
  • GC์— ์˜ํ•ด ๋™์ • ๋ฉ”๋ชจ๋ฆฌ ํ•ด์ œ๊ฐ€ ์ž๋™์œผ๋กœ ๋œ๋‹ค.
๐Ÿ’ก
C ์—์„œ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ง์ ‘ malloc() ๋™์ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น๊ณผ free() ๋ฉ”๋ชจ๋ฆฌ ์ •๋ฆฌ๋ฅผ Java์—์„œ๋Š” ์ž๋™์œผ๋กœ ์ •๋ฆฌํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.

null

null์˜ ์ฐธ์กฐ ์ œ๊ฑฐ ๊ธฐ๋Šฅ

๐Ÿ’ก
์ฐธ์กฐํ˜• ๋ณ€์ˆ˜(reference type)์— null์„ ๋Œ€์ž…ํ•˜์—ฌ ์•„๋ฌด ๊ฒƒ๋„ ์ฐธ์กฐํ•˜์ง€ ์•Š๊ฒŒ ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.
๐Ÿ’ก
๊ธฐ๋ณธํ˜• ๋ณ€์ˆ˜(primitive type)์—๋Š” null์„ ๋Œ€์ž…ํ•  ์ˆ˜ ์—†๋‹ค.

๐Ÿ’ฏ ์ฐธ์กฐํ˜• ๋ณ€์ˆ˜์˜ ์ดํ•ด

public class Main {
    public static void main(String[] args) {
        int[] a = { 1, 2, 3 };
        int[] b;
        b = a;
        a = null;
        System.out.println(b[0]);
    }
}

  • ๋ฐฐ์—ด b์— ๋ฐฐ์—ด a ์ฐธ์กฐํ˜• ๋ณ€์ˆ˜๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ฃผ์†Œ๋ฅผ ๋„ฃ๋Š”๋‹ค.
  • ์ดํ›„ a๋ฅผ null๋กœ ์ดˆ๊ธฐํ™” ํ•˜๊ณ  b๋ฅผ ์ถœ๋ ฅํ•˜๋ฉด, ์›๋ž˜ a๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋˜ ๊ฐ’์ด ์ถœ๋ ฅ๋œ๋‹ค.

์œ„ ์ฝ”๋“œ์— ๋Œ€ํ•œ ๊ทธ๋ฆผ ์„ค๋ช…

๐Ÿ’ก
int[] a = { 1, 2, 3 };

๐Ÿ’ก
int[] b;
๐Ÿ’ก
b = a;

๐Ÿ’ก
a = null;
๐Ÿ’ก
a์˜ ์ฐธ์กฐ ์—ฐ๊ฒฐ์„ ๋Š์–ด๋„, b๋Š” ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ b ์ถœ๋ ฅ ์‹œ ์ •์ƒ ์ถœ๋ ฅ๋œ๋‹ค.

๋‹ค์ฐจ์› ๋ฐฐ์—ด

  • ๋‹ค์ฐจ์› ๋ฐฐ์—ด ๊ตฌ์กฐ
package com.example;

public class Main {
    public static void main(String[] args) {
        int[][] scores = {{10, 20, 30}, {30, 40, 50}};
        System.out.println(scores.length);
        System.out.println(scores[0].length);
    }
}

๐Ÿ’ก
scores๋Š” {10, 20, 30}, {30, 40, 50}์ด ๊ฐ๊ฐ ์ €์žฅ๋œ ์ฃผ์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” add0์„ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ์œผ๋ฏ€๋กœ, scores์˜ length๋Š” 2์ด๋‹ค.
๐Ÿ’ก
๋˜ํ•œ scores[0]์€ add1์„ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ์œผ๋ฉฐ, add1์€ 10, 20, 30์˜ 3๊ฐœ์˜ ์›์†Œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฏ€๋กœ, scores์˜ length๋Š” 3์ด๋‹ค.


๐Ÿ“์—ฐ์Šต ๋ฌธ์ œ

4-1

๋‹ค์Œ ์กฐ๊ฑด์— ๋งž๋Š” ๊ฐ ๋ฐฐ์—ด์„ ์ค€๋น„ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ๊ฐ’์˜ ์ดˆ๊ธฐํ™”๋Š” ํ•„์š” ์—†์Œ.

  • int ํ˜• ๊ฐ’์„ 4๊ฐœ ๋‹ด์„ ์ˆ˜ ์žˆ๋Š” ๋ฐฐ์—ด points
  • double ํ˜• ๊ฐ’์„ 5๊ฐœ ๋‹ด์„ ์ˆ˜ ์žˆ๋Š” ๋ฐฐ์—ด weights
  • boolean ํ˜• ๊ฐ’์„ 3๊ฐœ ๋‹ด์„ ์ˆ˜ ์žˆ๋Š” ๋ฐฐ์—ด answers
  • String ํ˜• ๊ฐ’์„ 3๊ฐœ ๋‹ด์„ ์ˆ˜ ์žˆ๋Š” ๋ฐฐ์—ด names
package com.example;

public class Exam4_1 {
    public static void main(String[] args) {
        int[] points = new int[4];
        double[] weights = new double[5];
        boolean[] answers = new boolean[3];
        String[] names = new String[3];
    }
}

4-2

๋‹ค์Œ ์กฐ๊ฑด์— ๋งž๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

  1. 3๊ฐœ์˜ ๊ณ„์ขŒ ์ž”์•ก โ€œ121902โ€, โ€œ8302โ€, โ€œ55100โ€ ์ด ๋‹ด๊ฒจ ์žˆ๋Š” int ํ˜• ๋ฐฐ์—ด moneyList ๋ฅผ ์„ ์–ธํ•˜์‹œ์˜ค
  1. ๊ทธ ๋ฐฐ์—ด์˜ ์š”์†Œ๋ฅผ 1๊ฐœ์”ฉ for ๋ฌธ์œผ๋กœ ๊บผ๋‚ด์„œ ํ™”๋ฉด์— ํ‘œ์‹œํ•˜์‹œ์˜ค
  1. ๊ฐ™์€ ๋ฐฐ์—ด ์š”์†Œ๋ฅผ foreach ๋ฌธ์œผ๋กœ 1๊ฐœ์”ฉ ๊บผ๋‚ด์„œ ํ™”๋ฉด์— ํ‘œ์‹œํ•˜์‹œ์˜ค
package com.example;

public class Exam4_2 {
    public static void main(String[] args) {
        int[] moneyList = {121902, 8302, 55100};
        
        // ์ผ๋ฐ˜ for๋ฌธ์„ ํ†ตํ•œ ๋ฐฐ์—ด ์š”์†Œ ๊ฐ€์ ธ์˜ค๊ธฐ
        for (int i = 0; i < moneyList.length; i++) {
            System.out.println(moneyList[i]);
        }
        // for - each ๋ฌธ์„ ํ†ตํ•œ ๋ฐฐ์—ด ์š”์†Œ ๊ฐ€์ ธ์˜ค๊ธฐ
        for (int money : moneyList) {
            System.out.println(money);
        }
    }
}

4-3

๋‹ต

  • ์˜ˆ์™ธ 1: java.lang.NullPointerException
  • ์˜ˆ์™ธ 2: java.lang.ArrayIndexOutOfBoundsException

4-4

๋‹ค์Œ 4๊ฐœ์˜ ์กฐ๊ฑด์— ๋งž๋Š” โ€œ์ˆซ์ž ๋งž์ถ”๊ธฐ ํ€ด์ฆˆ" ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑ ํ•˜์‹œ์˜ค.

  1. 3๊ฐœ์งœ๋ฆฌ intํ˜• ๋ฐฐ์—ด numbers๋ฅผ ์ค€๋น„ํ•˜์‹œ์˜ค. ์ด ๋•Œ ์ดˆ๊ธฐํ™”๋Š” ๊ฐ๊ฐ 3, 4, 9 ๋กœ ํ•ฉ๋‹ˆ๋‹ค.
  1. ํ™”๋ฉด์— โ€œ1์ž๋ฆฌ์˜ ์ˆซ์ž๋ฅผ ์ž…๋ ฅ ํ•ด ์ฃผ์„ธ์š”" ๋ผ๊ณ  ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค
  1. ๋‹ค์Œ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ํ‚ค๋ณด๋“œ๋กœ๋ถ€ํ„ฐ ์ˆซ์ž๋ฅผ ์ž…๋ ฅ ๋ฐ›์•„, ๋ณ€์ˆ˜ input ์— ๋Œ€์ž…ํ•ฉ๋‹ˆ๋‹ค input๊ฐ’์ด 3, 4, 9 ์ค‘ ํ•˜๋‚˜์™€ ๊ฐ™๋‹ค๋ฉด โ€œ์ •๋‹ต!โ€ ์ด๋ผ๊ณ  ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
  1. input๊ฐ’์ด 3, 4, 9 ์ค‘ ํ•˜๋‚˜์™€ ๊ฐ™๋‹ค๋ฉด โ€œ์ •๋‹ต!โ€ ์ด๋ผ๊ณ  ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
package com.example;

public class Exam4_4 {
    public static void main(String[] args) {
        int[] numbers = {3, 4, 9};
        System.out.println("1์ž๋ฆฌ์˜ ์ˆซ์ž๋ฅผ ์ž…๋ ฅ ํ•ด ์ฃผ์„ธ์š”");
        int input = new java.util.Scanner(System.in).nextInt();

        for (int number : numbers) {
            if (number == input) {
                System.out.println("์ •๋‹ต!");
                break;
            }
        }
    }
}


ํ€ด์ฆˆ

โญ ๋ฌธ์ž์—ด ๊ฒฐํ•ฉ - ๋ฐฐ์—ด๋กœ ํ’€๊ธฐ

์ž…๋ ฅ ๋ฐ›์„ ๋ฌธ์ž์—ด ์ˆ˜์™€ ๋ฌธ์ž์—ด์„ ์ž…๋ ฅ๋ฐ›๊ณ  ์ถœ๋ ฅ ํฌ๋ฉง์— ๋งž๊ฒŒ ์ถœ๋ ฅํ•˜์„ธ์š”.


import java.util.Scanner;
import java.util.Arrays;

public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        String[] names = new String[n + 1];

        names[0] = "Hello ";
        for (int i = 1; i < n + 1; i++) {
            String input = sc.next();

            if (i == n) {
                names[i] = input + ".";
            } else {
                names[i] = input + ",";
            }
        }
        for (String name : names) {
            System.out.print(name);
        }
    }
}
๐Ÿ’ก
ํ€ด์ฆˆ01์„ ๋ฐฐ์—ด์„ ์ด์šฉํ•ด์„œ ํ•ด๊ฒฐํ–ˆ๋‹ค. n+1์˜ ํฌ๊ธฐ๋กœ ๋ฐฐ์—ด์„ ์ดˆ๊ธฐํ™” ํ•œ ํ›„ Hello๋ฅผ ํฌํ•จํ•œ ์ถ”ํ›„ ์ž…๋ ฅ ๊ฐ’๋“ค์„ ์ฒ˜๋ฆฌํ•˜์—ฌ ๋ฐฐ์—ด์— ๋„ฃ์€ ํ›„, ๋ฐฐ์—ด์˜ ์ „์ฒด ์›์†Œ๋“ค์„ ์ถœ๋ ฅํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ๋‹ค.


Uploaded by N2T

728x90
๋ฐ˜์‘ํ˜•