on
callback ch05 Phonebook
callback ch05 Phonebook
package ch05; import java.util.ArrayList; import java.util.Scanner; public class InputPhoneNumber { private ArrayList userName = new ArrayList<>(); private ArrayList telNumber = new ArrayList<>(); public ArrayList getUserName() { return userName; } public ArrayList gettelNumber() { return telNumber; } public void savePhoneNumber() { Scanner scanner = new Scanner(System.in); String name = ""; String number = ""; do { System.out.println("중지하려면 -1을 입력하세요."); System.out.println("*** 이름을 입력하세요. ***
"); //
엔드라인 name = scanner.nextLine(); if(!name.equals("-1")) { //-1을 입력하면 밑에 전화번호가 입력이 되지않도록하는 if문 System.out.println("*** 전화번호를 입력하세요. ***
"); number = scanner.nextLine(); userName.add(name); telNumber.add(number); } }while(!(name.equals("-1"))); } public void showInfo() { System.out.println("----------------------"); for (int i = 0; i < userName.size(); i++) { System.out.print("[" + userName.get(i)+ "] : \t"); //탭간격 \t System.out.println(telNumber.get(i)); } System.out.println("----------------------"); } public static void main(String[] args) { InputPhoneNumber inputPhoneNumber = new InputPhoneNumber(); inputPhoneNumber.savePhoneNumber(); inputPhoneNumber.showInfo(); } }
package ch05; import java.awt.GridLayout; import java.util.ArrayList; import javax.swing.JFrame; import javax.swing.JTextField; public class PhoneBook extends JFrame { // 포함관계 //다른 클래스를 만들어서 다른코드를 사용할 수있다. // 변수선언 변수선언과 동시에 초기화 private InputPhoneNumber inputPhoneNumber; public PhoneBook() { inputPhoneNumber = new InputPhoneNumber(); inputPhoneNumber.savePhoneNumber();// UI만들기전에 saveP~ 호출 initData(); setInitLayout(); } //생성자 > save 메서드 호출 > private void initData() { setTitle("phone book"); setSize(500, 500); setDefaultCloseOperation(EXIT_ON_CLOSE); }// 캡슐화(정보은닉) 겉으로는 보이지않음 private void setInitLayout() { ArrayListname = inputPhoneNumber.getUserName(); ArrayListtel = inputPhoneNumber.gettelNumber(); int nametext = 10; int teltext= 20; setLayout(new GridLayout(name.size(),2)); for (int i = 0; i < name.size(); i++) { JTextField field1 =new JTextField(name.get(i),nametext); JTextField field2 =new JTextField(tel.get(i),teltext); add(field1); add(field2); } setVisible(true); } //테스트 코드 public static void main(String[] args) { new PhoneBook(); } }
from http://itracoon.tistory.com/183 by ccl(A) rewrite - 2021-09-10 17:01:11