2-1장 (클래스, 객체, 참조변수 3) 마지막 값이 덮어씌워지는 문제
214
작성한 질문수 1
package sec02;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class PhoneBook {
static Person[] members = new Person[100];
static int count = 0;
public static void main(String[] args) {
try {
Scanner in = new Scanner(new File("./Chapter1/input.txt"));
while(in.hasNext()) {
members[count] = new Person();
members[count].name = in.next();
members[count].number = in.next();
count++;
System.out.println(count + members[count].name + members[count].number);
}
in.close();
} catch (FileNotFoundException e) {
System.out.println("No file");
return;
}
bubbleSort();
for (int i = 0; i < count; i++)
System.out.println(members[i].name + " : " + members[i].number);
}
static void bubbleSort() {
for (int i = count-1; i > 0; i--)
for (int j = 0; j < i; j++)
if (members[j].name.compareToIgnoreCase(members[j+1].name) > 0) {
Person tmp = members[j]; members[j] = members[j+1]; members[j+1] = tmp;
}
}
}
위와 같이 코드를 작성했는데요, 실행해보면
1Susan01087945123
2Han01085462316
3Kim01012345678
4Lee01098765432
5Park01078965412
Park : 01078965412
Park : 01078965412
Park : 01078965412
Park : 01078965412
Park : 01078965412
Process finished with exit code 0
이렇게 출력할 때 마지막 값이 덮어씌워져서 나옵니다. while문에서 객체 생성하고 값 대입하는 것까지는 정상적으로 된 것 같은데, 덮어씌운 것 같은 결과가 나타나는 이유가 무엇일까요?
답변 0
연습문제 자료들 어디서 볼 수 있을까요
3
966
0
강의자료 어디서 보나요
0
817
0
변수, 배열, 반복문에서 이중for문
1
856
1
섹션1,섹션2의 연습문제에 대한 코드 공유
0
324
0
교수님이 말씀하신 반복문 수업 끝날 때 말씀해주신 연습문제 답 코드 어딨는지 아시는 분계시나요 도와주세요
0
286
0
소수의 개념을 알겠지만 원리를 모릅니다.. 그냥 외워야 할까요?
0
787
1
강의노트를 못 찾겠습니다 ㅠㅠ
0
644
1
오버라이딩
0
405
1
강의자료는 어디서 볼수있나요??
0
495
1
추상클래스와인터페이스 관련강의
0
219
0
왜 main 함수 안에서 함수를 정의하면 오류가 나는 건가요?
0
4249
1
for구문에서 {}
1
277
2
강의자료 소스코드는 따로 없는건가요?
0
306
1
자바 IDE 선택에 대한 질문입니다.
0
372
1
inner class에 대한 질문
0
247
0
remove(index) 구현 질문
0
337
1
훌륭한 코드를 볼때 마다 감탄스럽습니다.
0
334
0
교수님이 자랑 스럽습니다.
0
209
0
상속 3에 예제 2의 영상이 올라와있어요~
0
215
0
3,4 순서가 바뀌어서 업로드 되어 있습니다
0
184
0
강의 노트는 어디서 확인할 수 있나요?
0
558
3
휼륭한 강의 감사합니다.
2
241
0
코드의 차이점이 뭔가요 ??
0
235
1
add와 remove 메소드를 사용할때, size-1에 대한 질문
0
219
1





