본문 바로가기

Not Using/JAVA

자바예제놀이(배열관련)

배열값 입력받아 최소값,최대값,평균구하고 출력하기

관건 - for문을 적절히 활용, Arrays.toString(배열이름) 활용법

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

class Exam{
 public static void main(String[] args) {


  int[] grades = new int[5];
  
  Scanner scan_grades = new Scanner(System.in);
  int sum=0;
  for(int i=0;i<grades.length;i++){
  
   System.out.println(i+"번째 값을 입력하세요:");
   grades[i]=scan_grades.nextInt();
   sum+=grades[i];
   
  }
  
  int max=0, min=0;
  for(int j=0;j<grades.length-1;j++){
   if(grades[j]>max){
    max=grades[j];
    
   if(grades[j]<min){
    min=grades[j]; 
    }
   
   
   }
  }
  
  
  System.out.println("당신이 입력한 모든값은 ");
  System.out.println(Arrays.toString(grades));     //배열안에 있는 모든값을 출력해주는 메소드
  System.out.println("최소값은"+min+"최대값은"+max);
  System.out.println("평균값은"+(float)sum/grades.length);
  
 }
}



다차원 배열을 다중루프를 이용하여 출력하기

import java.util.Arrays;


class Exam{
 public static void main(String[] args) {

 

  int[][] arr = new int [5][];
  arr[0] = new int[1];
  arr[1] = new int[2];
  arr[2] = new int[3];
  arr[3] = new int[4];
  arr[4] = new int[5];
  
  int num=0;

  for(int i=0;i<arr.length;i++){
   int []tempArr = arr[i];
   
   for(int j=0;j<tempArr.length;j++){
   tempArr[j] = ++num; 
   }
  
}
  for(int[] tempArr:arr){
  System.out.println(Arrays.toString(tempArr));
  }
 }
}

출력값:

[1]
[2, 3]
[4, 5, 6]
[7, 8, 9, 10]
[11, 12, 13, 14, 15]




System.arraycopy()를 이용하는 손쉬운 배열복사!!^^

System.arraycopy([원본배열],[원본의 복사 시작 인덱스 번호],[대상 배열],[대상 배열의 복사 시작 인덱스 번호],[개수기])

import java.util.Arrays;


class Exam{
 public static void main(String[] args) {

 

  int[] arr = {1,2,3,4,5};
  int[] temp = {1,2,0,0,0};
  
  System.arraycopy(arr, 2, temp, 2, 3);
  System.out.println(Arrays.toString(arr));
  System.out.println(Arrays.toString(temp));
 }
}




배열의 루프처리 (배열을 순서대로 복사하고 싶을때)
-인덱스번호를 따로 처리하지 않을때 foreach문을 사용하는데 만약
루프가 돌때마다 특정 인덱스에 값을 다르게 넣어야 한다거나 할경우는 적합하지 않음^^

class Exam{
 public static void main(String[] args) {

  int[]arr = {10,20,30,40};
  for(int value:arr){      //foreach문을 이용한다.
   System.out.println(value);
  }



ArraytoString - 배열안의 데이터를 문자열로 변경해주어 배열안 데이터를 좀더쉽게 확인할 수 있다.
ArraytoString의 또다른 기능-Sort기능
 
  int[] arr ={100,91,30,30,40,50};
  System.out.println(Arrays.toString(arr));
  
  Arrays.sort(arr);    //정렬정렬!
  System.out.println(Arrays.toString(arr));

출력값:

[100, 91, 30, 30, 40, 50]
[30, 30, 40, 50, 91, 100]