public class RunLibrary {
public RunLibrary() {
boolean mRoop = true;
String selected = null;
String selected2 = null;
int count = 0;
int insert = 1;
Book[] book = new Book[insert]; //Book이라는 클래스의 인스턴스를 담을 수 있는 배열을 생성
Book[] book2 = null;
while(mRoop) {
System.out.print("도서입력을 진행하시겠습니까?(y/n)");
selected = input();
if(selected.equals("y")|| selected.equals("Y")) { //5권의 책을 입력받아 저장한다.
for(int i =0; i<book.length;i++,insert++,count++) {
output((i+1)+"번째 도서정보 입력");
output("제목 : ");
String bookName = input();
output("출판사 : ");
String bookPublishing = input();
output("출판일 : ");
String bookDate = input();
output("저자 : ");
String bookWriter = input();
output("");
book2 = new Book[i+1]; //book2 = Book배열 1자리 선언
book2[i] = new Book(bookName,bookPublishing,bookDate,bookWriter); //book2[0] = 입력한값 대입
book = new Book[insert+1]; //book = Book[2] 선언
book = book2; //book2의 값을 book에 대입
System.out.println("도서입력을 계속 진행하시겠습니까?(y/n)");
selected2 = input();
위의 소스코드는 클래스 2에 포스팅 했었던 소스코드인데 클래스2에서는 미리 book에 배열의 갯수를 입력받아
입력하는 것이었고 지금 이 코드는 아직 완벽하게 완성한 것은 아니지만 책 입력을 무한으로 입력을 받다가
"도서입력을 계속 진행하시겠습니까?"에서 n를 입력하면 그때 입력받은 책들이 출력되는 그런 코드인데
확실히 미리 책들을 배열을 입력 받아서 그 값을 정해놓고 하는 것이 코드 짤때 덜 어려운 것 같다.
지금 이 코드는 배열의 크기를 정하지않고 책을 입력하는 만큼 배열의 크기를 재지정해서 결국 책을 수십만권
입력하면 수십만권 출력할 수 있는 그런 코드인데 이게 코드를 짤때 현재 배운 범위 내로는 정말....어렵다...
강사분과 같이 한번 만들어보고 있긴 한데 내가 집에서 코드 몇개를 줄이고 개선해서 왔으나 다시 보니까 더 줄일 수
있는 부분들이 몇가지 보여서 더 줄이고 나서 다시한번 봐야겠다.
'JAVA' 카테고리의 다른 글
for 문 (0) | 2021.06.03 |
---|---|
클래스 2(동적할당/정적할당) (0) | 2021.05.14 |
클래스 1(Class,object,instance) (0) | 2021.05.14 |
method (0) | 2021.05.14 |