728x90
반응형

Arrays.toString()과 .toString()

 

double[] values = {1.0, 1.1, 1.2};

System.out.println(values.toString());           // 이렇게 하면 [D@46a49e6 같은 값이 나옴

System.out.println(Arrays.toString(values));   // 이렇게 하면 [1.0, 1.1, 1.2] 이 출력

 

 

for문을 이용한 중복의 제거

2차원 배열에 들어있는 데이터들 중 3의 배수만 골라내서 새로운 1차열 배열에 기록하고 출력(단, 중복값은 하나만 기록되도록 함)

 

public static void main(String[] args) {
		int[][] array = {{12,41,36,56}, {82,10,12,61}, {14,16,18,78}, {45,26,72,23}};
		int[] copyAr = new int[array.length * array[0].length];
		int cnt =0;
		
		for(int i=0; i<array.length; i++)
			abc :
			for(int j=0; j<array[i].length; j++) {
				
				if(array[i][j] % 3 == 0) {
					for(int k=0; k<cnt; k++) {
						if(copyAr[k]==array[i][j])
							continue abc;
					}
					copyAr[cnt++] = array[i][j];
				}
			}
		
		System.out.print("copyAr : ");
		for(int i=0; i<cnt; i++) {
			System.out.print(copyAr[i]+" ");
		}
	}

 

 

로또 번호 생성기

로또번호를 랜덤으로 생성하고 중복제거 후 오름차순 정렬

public static void main(String[] args) {
		Lotto l = new Lotto();
		l.test();
	}
	
	public void test(){
		int[] lotto = new int[6];
		
		for(int i=0; i<lotto.length; i++) {
			lotto[i] = (int)(Math.random()*45)+1;
			
			for(int j=0; j<i; j++){
				if(lotto[i]==lotto[j]){
					i--;
					break;
				}
			}
		}
	
		for(int i=0; i<lotto.length-1; i++){
			for(int j=i+1; j<lotto.length; j++) {
				if(lotto[i]>lotto[j])
				swap(lotto, i, j);	
			}
		}
		
		System.out.println("=== 로또 번호 생성 ===");
		for(int i=0; i<lotto.length; i++) {
			System.out.print(lotto[i]+" ");
		}
	}
	
	public void swap(int[] lotto, int i, int j) {
		int temp = lotto[i];
		lotto[i] = lotto[j];
		lotto[j] = temp;
	}

 

 

 

 

반응형
복사했습니다!