Posts 자바-6. 배열
Post
Cancel

자바-6. 배열

배열은 언제쓸까? 같은 자료형인 변수가 100개 200개 무수히많은때 그변수들 담아놓기위해 배열을 사용한다 즉, 무수한 자료의 같은 데이터형을 처리할때 배열을 사용하면 자료를 효율적으로 사용할수있다는것이다.

예) int[] a = new int[5] 이런 방식으로 사용한다. 배열의 a라는 배열명은 그 배열의 시작 주소를 가리킨다. 이점은 매우 중요하다.

문제로 풀어볼까

배열 출력해보기(숫자)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public static void main(String[] args) {
/* 5개 정수를 입력받은후 차례로 출력하는 프로그램
* 입력예) 5 10 9 3 2
* 출력예) 5 10 9 3 2
*  */
*  
  Scanner scn = new Scanner(System.in);
  int[] a = new int[5];  // 5개의 방을만들고 배열의 시작주소를 a에게 넣는다.
  int i;

  for(i=0; i<5; i++)
  {
    System.out.print(i + "번째 값 입력 : ");
    a[i] = scn.nextInt();
  }

  for(i=0; i<5; i++)
  {
    System.out.print(a[i]+ " ");
  }

  System.out.println(a);
}

배열 출력해보기(문자)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public static void main(String[] args) {
/* 문제) 문자10개를 저장할  있는 배열을 선언하고 10개의 문자
* 입력 받아 입력받은 문자를 이어서 출력하는 프로그램
* 입력예)A B C D E F G H I J
* 출력예)ABCDEFGHIJ	

  Scanner scn = new Scanner(System.in);
  char[] a = new char[10];
  int i;

  for(i=0; i<10; i++)
  {
    // a[i]=scn.next();	//공백을 기준으로 한단어,문자씩 입력받는다.
     a[i]=scn.next().charAt(0);
    System.out.printf("%c", a[i]);
  }
}

배열 출력해보기 (자리수 지정)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public static void main(String[] args) {
문제) 정수 10개를 입력받은후, 세번째, 다섯번째와 마지막으로 입력
*	받은 정수를 차례로 출력하는 프로그램
*	입력예)5 3 9 6 8 4 2 8 10 1
*	출력예)9 8 1

  Scanner scn = new Scanner(System.in);
  int[] a = new int[10];
  int i;

  for(i=0; i<a.length; i++)
  {
    a[i] = scn.nextInt();
  }
  //System.out.printf("%d %d %d ", a[2], a[4], a[9]);
  System.out.printf("%d %d %d ", a[2], a[4], a[a.length-1]); // lengh사용하여 배열의 길이를 셀수있다.
}

배열 출력해보기(짝수 자리수)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public static void main(String[] args) {
/* 문제)최대 100개까지의 정수를 차례로 입력받다가 0 입력되면
 * 입력을 중단하고 짝수번째에 입력된 정수를 모두 출력하는
 * 프로그램 작성
 * 입력예) 11 25 3 9 15 6 8 7 12 0
 * 출력예) 25 9 6 7
 *  /
 
  Scanner scn = new Scanner(System.in);
  int i; 
  int count = 0;
  int a[] = new int[100]; //배열을 초기화한다.
  for(i=0; i<100; i++)
  {
    a[i] =  scn.nextInt();
    if(a[i] == 0)
    {
      break;
    }
    count ++;
  }
  for(i=1; i<count; i+=2)
  {
    System.out.printf("%d ", a[i]);
  }
}
This post is licensed under CC BY 4.0 by the author.