package week2; import java.util.*; public class Pro { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String [] ArryName = {"영희","철수","길동","영수"}; int [] ArryRoom = new int[4]; int totalHight = 0; int max = 0; int maxIndex = 0; int minm = 0; int minmIndex = 0;
for(int i=0;i<ArryName.length;i++) { System.out.print(ArryName[i]+" 키를 입력하세요>>"); ArryRoom[i] = sc.nextInt(); totalHight += ArryRoom[i]; } System.out.println("학생들의 평균 신장은 "+(totalHight/ArryRoom.length)+" 입니다.");
for(int i=0;i<ArryRoom.length;i++) { if(ArryRoom[i]>max) { max=ArryRoom[i]; maxIndex=i; } } System.out.println("가장 키가 큰 학생은 "+ ArryRoom[maxIndex] + "입니다.");
minm=max; //처음 minm의 초기화를 0으로 했기때문에 비교대상이 안됨. for(int i=0;i<ArryRoom.length;i++) { if(ArryRoom[i]<max) { minm=ArryRoom[i]; minmIndex=i; } } System.out.println("가장 작은 학생의 키는 "+minm+"입니다."); } } |
배열에서
int [] arry1 = {10,20,30}; int [] arry2 = arry1; |
을 하게되면 arry1과 arry2는 같은 래퍼런스를 공유하게된다.
즉, 같은 공간을 가르키게된다.
그렇기때문에 arry2를 변경하게되면 arry1도 변경이 되고, 그반대로 arry1을 변경하게 되면 arry2가 변경된다.
※ 중복된 숫자가 입력될 경우 중복된 숫자를 찾는 코드를 찾아야한다.
EX) 1 2 3 3 4 5 (X) -> 이경우는 배열의 -1번째의 숫자를 비교 if(arr[i-1]==arr[1])
1 2 1 3 1 5 (O) -> 1번째 3번째 5번째라는 결과가 나와야한다.
package week2; import java.util.*; public class Pro { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String [] ArryName = {"영희","철수","길동","영수"}; int [] ArryRoom = new int[4]; int totalHight = 0; int max = 0; int maxIndex = 0; int minm = 0; int minmIndex = 0;
for(int i=0;i<ArryName.length;i++) { System.out.print(ArryName[i]+" 키를 입력하세요>>"); ArryRoom[i] = sc.nextInt(); totalHight += ArryRoom[i]; } System.out.println("학생들의 평균 신장은 "+(totalHight/ArryRoom.length)+" 입니다.");
for(int i=0;i<ArryRoom.length;i++) { if(ArryRoom[i]>max) { max=ArryRoom[i]; maxIndex=i; } } System.out.println("가장 키가 큰 학생은 "+ ArryRoom[maxIndex] + "입니다.");
minm=max; //처음 minm의 초기화를 0으로 했기때문에 비교대상이 안됨. for(int i=0;i<ArryRoom.length;i++) { if(ArryRoom[i]<minm) { minm=ArryRoom[i]; minmIndex=i; } } System.out.println("가장 작은 학생의 키는 "+ArryRoom[minmIndex]+"입니다.");
for(int i=0; i<ArryRoom.length-1; i++){ // 자기 자신을 제외한 모든 이름 비교 //총 배열 크기 : 4, 이므로 자기는 제외 = -1 for(int j=i+1; j<ArryRoom.length; j++){ // 앞에 비교한 이름을 비교하지 않는다. if(ArryRoom[i] == ArryRoom[j]){ System.out.println(ArryRoom[i]+"와"+ArryRoom[j]+"같습니다."); } } } } } |
[잘못짠코드]
1) for(int i=0;i<ArryRoom.length;i++){ for(int j=4;j>i;j--) if(ArryRoom[i]==ArryRoom[j]){ break; 2) for(int i=0;i<ArryRoom.length;i++){ for(int j=4;j>0;j--) if(ArryRoom[i]==ArryRoom[j]){ System.out.println(ArryRoom[i]+" "+" "+ArryRoom[j]+" 같은 값입니다."); break; } else continue; } |
'전공수업 > JAVA' 카테고리의 다른 글
[JAVA] 기초 문법 - LIST(KEY,VALUE) 키 값 출력(꺼내기) (0) | 2022.12.02 |
---|---|
[JAVA 기초] 자바 생성자 설명 (0) | 2022.01.26 |
[JAVA / 자바] 알고리즘 공부(메소드) (0) | 2021.05.23 |
[Java] ==, equals(), hashcode() 란? (0) | 2021.05.17 |
객체지향? (0) | 2018.07.21 |