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;
}
반응형
'프로그래밍 > JAVA' 카테고리의 다른 글
04.02(멤버 관리 프로그램) (0) | 2020.04.02 |
---|---|
04.01(반환값과 매개변수가 있고 없는 메소드) (0) | 2020.04.01 |
03.30(별 출력하기, arguments 입력 받기, 2차원 배열의 초기화) (0) | 2020.03.30 |
03.27 중첩반복문(구구단과 별 출력하기) (0) | 2020.03.27 |
03.26 (0) | 2020.03.26 |