์ ๋๋ฆฌ์ธ์ด ํ์ํฉ๋๊น?
์ด ํจํด์ ๊ฐ์ฒด์ ๋ํ ์ก์ธ์ค ์ ์ด์ ๊ด๋ จ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. "์ ์ด๋ ๊ฒ ํต์ ๋ ์ก์ธ์ค๊ฐ ํ์ํ๊ฐ์?"๋ผ๋ ์ง๋ฌธ์ด ์์ ์ ์์ต๋๋ค. ๋ฌด์์ด ๋ฌด์์ธ์ง ํ์ ํ๋ ๋ฐ ๋์์ด ๋๋ ๋ช ๊ฐ์ง ์ํฉ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.์ค์์ 1
๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ณด๊ณ ์๋ฅผ ๋ค์ด๋ก๋ํ๋ ํด๋์ค๊ฐ ์๋ ์ค๋๋ ์ฝ๋๊ฐ ๋ง์ด ํฌํจ๋ ๋๊ท๋ชจ ํ๋ก์ ํธ๊ฐ ์๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ํด๋์ค๋ ๋๊ธฐ์ ์ผ๋ก ์๋ํฉ๋๋ค. ์ฆ, ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์์ฒญ์ ์ฒ๋ฆฌํ๋ ๋์ ์ ์ฒด ์์คํ ์ด ์ ํด ์ํ์ ๋๋ค. ํ๊ท ์ ์ผ๋ก ๋ณด๊ณ ์๋ 30๋ถ ์์ ์์ฑ๋ฉ๋๋ค. ์ด ๊ธฐ๋ฅ์ผ๋ก ์ธํด ์ ๋ก๋๋ 00:30๋ถํฐ ์์๋๋ฉฐ, ๊ฒฝ์์ง์ ์ค์ ์ ์ด ๋ณด๊ณ ์๋ฅผ ๋ฐ์ต๋๋ค. ๋ถ์ ๊ฒฐ๊ณผ, ๋ณด๊ณ ์๊ฐ ์์ฑ๋ ํ ์ฆ์, ์ฆ ํ๋ฃจ ์ด๋ด์ ๋ณด๊ณ ์๋ฅผ ๋ฐ์์ผ ํ๋ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค. ์์คํ ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๋ต์ ๊ธฐ๋ค๋ฆฌ๊ธฐ ๋๋ฌธ์ ์์ ์๊ฐ์ ๋ค์ ์์ฝํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํฉ๋๋ค. ํด๊ฒฐ์ฑ ์ ๋ณ๋์ ์ค๋ ๋์์ ์ ๋ก๋ ๋ฐ ๋ณด๊ณ ์ ์์ฑ์ ์์ํ์ฌ ์๋ ์๋ฆฌ๋ฅผ ๋ณ๊ฒฝํ๋ ๊ฒ์ ๋๋ค. ์ด ์๋ฃจ์ ์ ์ฌ์ฉํ๋ฉด ์์คํ ์ด ํ์๋๋ก ์๋ํ ์ ์์ผ๋ฉฐ ๊ฒฝ์์ง์ ์๋ก์ด ๋ณด๊ณ ์๋ฅผ ๋ฐ๊ฒ ๋ฉ๋๋ค. ๊ทธ๋ฌ๋ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ํ์ฌ ์ฝ๋๋ ํด๋น ๊ธฐ๋ฅ์ด ์์คํ ์ ๋ค๋ฅธ ๋ถ๋ถ์์ ์ฌ์ฉ๋๊ธฐ ๋๋ฌธ์ ๋ค์ ์์ฑํ ์ ์์ต๋๋ค. ์ด ๊ฒฝ์ฐ ๋ณด๊ณ ์ ์ ๋ก๋ ์์ฒญ์ ์์ ํ๊ณ ์์ ์๊ฐ์ ๊ธฐ๋กํ๋ฉฐ ๋ณ๋์ ์ค๋ ๋๋ฅผ ์์ํ๋ Deputy ํจํด์ ์ฌ์ฉํ์ฌ ์ค๊ฐ ํ๋ก์ ํด๋์ค๋ฅผ ๋์ ํ ์ ์์ต๋๋ค. ๋ณด๊ณ ์๊ฐ ์์ฑ๋๋ฉด ์ค๋ ๋๊ฐ ์์ ์ ์๋ฃํ๊ณ ๋ชจ๋๊ฐ ๋ง์กฑํ ๊ฒ์ ๋๋ค.์ค์์ 2
๊ฐ๋ฐํ์ ํฌ์คํฐ ์น์ฌ์ดํธ๋ฅผ ์ ์ํฉ๋๋ค. ์๋ก์ด ์ด๋ฒคํธ์ ๋ํ ๋ฐ์ดํฐ๋ฅผ ์ป๊ธฐ ์ํด ๊ทธ๋ค์ ํน์ ํ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํตํด ์ํธ ์์ฉ์ด ๊ตฌํ๋๋ ํ์ฌ ์๋น์ค๋ก ์ ํํฉ๋๋ค. ๊ฐ๋ฐ ์ค์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ํ์ฌ ์์คํ ์ด ํ๋ฃจ์ ํ ๋ฒ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฐ์ดํธํ๊ณ ์ฌ์ฉ์๊ฐ ํ์ด์ง๋ฅผ ์๋ก ๊ณ ์น ๋๋ง๋ค ์ด์ ๋ํ ์์ฒญ์ด ๋ฐ์ํฉ๋๋ค. ์ด๋ก ์ธํด ๋ง์ ์์ ์์ฒญ์ด ์์ฑ๋๊ณ ์๋น์ค๊ฐ ์๋ต์ ์ค์งํฉ๋๋ค. ํด๊ฒฐ์ฑ ์ ์๋น์ค ์๋ต์ ์บ์ํ๊ณ ์ฌ๋ถํ ํ ๋๋ง๋ค ๋ฐฉ๋ฌธ์์๊ฒ ์ ์ฅ๋ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ณตํ์ฌ ํ์์ ๋ฐ๋ผ ์ด ์บ์๋ฅผ ์ ๋ฐ์ดํธํ๋ ๊ฒ์ ๋๋ค. ์ด ๊ฒฝ์ฐ Deputy ํจํด์ ์ฌ์ฉํ๋ ๊ฒ์ ์์ฑ๋ ๊ธฐ๋ฅ์ ๋ณ๊ฒฝํ์ง ์๊ณ ํ์ํ ์๋ฃจ์ ์ ๋๋ค.ํจํด ์๋ ๋ฐฉ์
์ด ํจํด์ ๊ตฌํํ๋ ค๋ฉด ํ๋ก์ ํด๋์ค๋ฅผ ๋ง๋ค์ด์ผ ํฉ๋๋ค. ํด๋ผ์ด์ธํธ ์ฝ๋์ ๋์์ ์๋ฎฌ๋ ์ด์ ํ๋ ์๋น์ค ํด๋์ค ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํฉ๋๋ค. ๋ฐ๋ผ์ ์ค์ ๊ฐ์ฒด ๋์ ํด๋ผ์ด์ธํธ๋ ํ๋ก์์ ์ํธ ์์ฉํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋ชจ๋ ์์ฒญ์ ์๋น์ค ํด๋์ค๋ก ์ ๋ฌ๋์ง๋ง ํธ์ถ ์ ํ์ ์ถ๊ฐ ์์ ์ด ํฌํจ๋ฉ๋๋ค. ๊ฐ๋จํ ๋งํด์ ์ด ํ๋ก์ ๊ฐ์ฒด๋ ํด๋ผ์ด์ธํธ ์ฝ๋์ ๋์ ๊ฐ์ฒด ์ฌ์ด์ ๊ณ์ธต์ ๋๋ค. ๋งค์ฐ ๋๋ฆฐ ์ค๋๋ ๋์คํฌ์์ ์์ฒญ์ ์บ์ฑํ๋ ์๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์๋ ์๋ฆฌ๋ฅผ ๋ณ๊ฒฝํ ์ ์๋ ๊ณ ๋ ์์ฉ ํ๋ก๊ทธ๋จ์ ์ ๊ธฐ ์ด์ฐจ ์ผ์ ์ด๋ผ๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ์ ๋ฐ์ดํธ๋ ์ผ์ ์ ๋์คํฌ๊ฐ ๋งค์ผ ์ ํด์ง ์๊ฐ์ ์ฝ์ ๋ฉ๋๋ค. ๊ทธ๋์ ์ฐ๋ฆฌ๋:- ์ํธ ์์ฉ
TimetableTrains
. - ์ด ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋ ํด๋์ค
TimetableElectricTrains
์ ๋๋ค. - ํด๋ผ์ด์ธํธ ์ฝ๋๊ฐ ๋์คํฌ ํ์ผ ์์คํ ๊ณผ ์ํธ ์์ฉํ๋ ๊ฒ์ ์ด ํด๋์ค๋ฅผ ํตํด์์ ๋๋ค.
- ํด๋ผ์ด์ธํธ ํด๋์ค
DisplayTimetable
. ๊ทธ ๋ฉ์๋๋printTimetable()
ํด๋์ค ๋ฉ์๋๋ฅผ ์ฌ์ฉํฉ๋๋คTimetableElectricTrains
.
printTimetable()
ํด๋์ค๋ TimetableElectricTrains
๋์คํฌ์ ์ก์ธ์คํ๊ณ ๋ฐ์ดํฐ๋ฅผ ์ธ๋ก๋ํ์ฌ ํด๋ผ์ด์ธํธ์ ์ ๊ณตํฉ๋๋ค. ์ด ์์คํ
์ ์ ์๋ํ์ง๋ง ๋งค์ฐ ๋๋ฆฝ๋๋ค. ๋ฐ๋ผ์ ์บ์ฑ ๋ฉ์ปค๋์ฆ์ ์ถ๊ฐํ์ฌ ์์คํ
์ฑ๋ฅ์ ๋์ด๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ์ด๋ ํ๋ก์ ํจํด์ ์ฌ์ฉํ์ฌ ์ํํ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ํด๋์ค๋ ์ด์ ํด๋์ค๊ฐ ์๋ DisplayTimetable
ํด๋์ค์ ์ํธ ์์ฉํ๊ณ ์๋ค๋ ์ฌ์ค์กฐ์ฐจ ์ธ์ํ์ง ๋ชปํฉ๋๋ค . TimetableElectricTrainsProxy
์๋ก์ด ๊ตฌํ์์๋ ํ๋ฃจ์ ํ ๋ฒ ์ผ์ ์ ๋ก๋ํ๊ณ , ๋ฐ๋ณต ์์ฒญ ์ ๋ฉ๋ชจ๋ฆฌ์์ ์ด๋ฏธ ๋ก๋๋ ๊ฐ์ฒด๋ฅผ ๋ฐํํฉ๋๋ค.
์ด๋ค ์์ ์ ํ๋ก์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ ์ข๋์?
๋ค์์ ์ด ํจํด์ด ํ์คํ ์ ์ฉํ ๋ช ๊ฐ์ง ์ํฉ์ ๋๋ค.- ์บ์ฑ.
- ๊ฒ์ผ๋ฅธ ๊ตฌํ์ ๊ฒ์ผ๋ฅธ ๊ตฌํ์ด๋ผ๊ณ ๋ ํฉ๋๋ค. ํ์์ ๋ฐ๋ผ ๋ก๋ํ ์ ์๋๋ฐ ์ ๊ฐ์ฒด๋ฅผ ํ๊บผ๋ฒ์ ๋ก๋ํฉ๋๊น?
- ์์ฒญ ๋ก๊น .
- ์ค๊ฐ ๋ฐ์ดํฐ ๋ฐ ์ก์ธ์ค ํ์ธ.
- ๋ณ๋ ฌ ์ฒ๋ฆฌ ์ค๋ ๋๋ฅผ ์์ํฉ๋๋ค.
- ํตํ ๋ด์ญ์ ๊ธฐ๋กํ๊ฑฐ๋ ๊ณ์ฐํฉ๋๋ค.
์ฅ์ ๊ณผ ๋จ์
- + ์ํ๋ ๋๋ก ์๋น์ค ๊ฐ์ฒด์ ๋ํ ์ก์ธ์ค๋ฅผ ์ ์ดํ ์ ์์ต๋๋ค.
- + ์๋น์ค ๊ฐ์ฒด์ ์๋ช ์ฃผ๊ธฐ๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํ ์ถ๊ฐ ๊ธฐ๋ฅ
- + ์๋น์ค ๊ฐ์ฒด ์์ด ์๋ํฉ๋๋ค.
- + ์ฝ๋ ์ฑ๋ฅ๊ณผ ๋ณด์์ด ํฅ์๋ฉ๋๋ค.
- - ์ถ๊ฐ์ ์ธ ์์ ๋ก ์ธํด ์ฑ๋ฅ์ด ์ ํ๋ ์ํ์ด ์์ต๋๋ค.
- - ํ๋ก๊ทธ๋จ ํด๋์ค์ ๊ตฌ์กฐ๋ฅผ ๋ณต์กํ๊ฒ ๋ง๋ญ๋๋ค.
์ค์ ๋ก ๋์ฒด ํจํด
๋์คํฌ์์ ์ด์ฐจ ์๊ฐํ๋ฅผ ์ฝ๋ ์์คํ ์ ๊ตฌํํด ๋ณด๊ฒ ์ต๋๋ค.public interface TimetableTrains {
String[] getTimetable();
String getTrainDepartureTime();
}
๋ฉ์ธ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋ ํด๋์ค:
public class TimetableElectricTrains implements TimetableTrains {
@Override
public String[] getTimetable() {
ArrayList<String> list = new ArrayList<>();
try {
Scanner scanner = new Scanner(new FileReader(new File("/tmp/electric_trains.csv")));
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
list.add(line);
}
} catch (IOException e) {
System.err.println("Error: " + e);
}
return list.toArray(new String[list.size()]);
}
@Override
public String getTrainDepartureTime(String trainId) {
String[] timetable = getTimetable();
for(int i = 0; i<timetable.length; i++) {
if(timetable[i].startsWith(trainId+";")) return timetable[i];
}
return "";
}
}
๋ชจ๋ ์ด์ฐจ์ ์ผ์ ์ ์ป์ผ๋ ค๊ณ ํ ๋๋ง๋ค ํ๋ก๊ทธ๋จ์ ๋์คํฌ์์ ํ์ผ์ ์ฝ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด๊ฒ๋ค์ ์ฌ์ ํ โโโโ๊ฝ์
๋๋ค. ๋จ ํ ์ด์ฐจ์ ์ผ์ ์ ํ์ธํด์ผ ํ ๋๋ง๋ค ํ์ผ์ ์ฝ์ด๋ณด์ธ์! ๊ทธ๋ฌํ ์ฝ๋๊ฐ ๋์ ์์๋ง ์กด์ฌํ๋ค๋ ๊ฒ์ ์ข์ ์ผ์
๋๋ค. :) ํด๋ผ์ด์ธํธ ํด๋์ค:
public class DisplayTimetable {
private TimetableTrains timetableTrains = new TimetableElectricTrains();
public void printTimetable() {
String[] timetable = timetableTrains.getTimetable();
String[] tmpArr;
System.out.println("ะะพะตะทะด\tะัะบัะดะฐ\tะัะดะฐ\t\tะัะตะผั ะพัะฟัะฐะฒะปะตะฝะธั\tะัะตะผั ะฟัะธะฑััะธั\tะัะตะผั ะฒ ะฟััะธ");
for(int i = 0; i < timetable.length; i++) {
tmpArr = timetable[i].split(";");
System.out.printf("%s\t%s\t%s\t\t%s\t\t\t\t%s\t\t\t%s\n", tmpArr[0], tmpArr[1], tmpArr[2], tmpArr[3], tmpArr[4], tmpArr[5]);
}
}
}
์์ ํ์ผ:
9B-6854;ะะพะฝะดะพะฝ;ะัะฐะณะฐ;13:43;21:15;07:32
BA-1404;ะะฐัะธะถ;ะัะฐั;14:25;21:25;07:00
9B-8710;ะัะฐะณะฐ;ะะตะฝะฐ;04:48;08:49;04:01;
9B-8122;ะัะฐะณะฐ;ะัะฐั;04:48;08:49;04:01
ํ
์คํธํด๋ณด์:
public static void main(String[] args) {
DisplayTimetable displayTimetable = new DisplayTimetable();
displayTimetable.printTimetable();
}
๊ฒฐ๋ก :
ะะพะตะทะด ะัะบัะดะฐ ะัะดะฐ ะัะตะผั ะพัะฟัะฐะฒะปะตะฝะธั ะัะตะผั ะฟัะธะฑััะธั ะัะตะผั ะฒ ะฟััะธ
9B-6854 ะะพะฝะดะพะฝ ะัะฐะณะฐ 13:43 21:15 07:32
BA-1404 ะะฐัะธะถ ะัะฐั 14:25 21:25 07:00
9B-8710 ะัะฐะณะฐ ะะตะฝะฐ 04:48 08:49 04:01
9B-8122 ะัะฐะณะฐ ะัะฐั 04:48 08:49 04:01
์ด์ ํจํด์ ๊ตฌํํ๋ ๋จ๊ณ๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
-
์๋ณธ ๊ฐ์ฒด ๋์ ์ ํ๋ก์๋ฅผ ์ฌ์ฉํ ์ ์๋ ์ธํฐํ์ด์ค๋ฅผ ์ ์ํฉ๋๋ค. ์ฐ๋ฆฌ์ ์์์๋ ์ ๋๋ค
TimetableTrains
. -
ํ๋ก์ ํด๋์ค๋ฅผ ๋ง๋ญ๋๋ค. ์๋น์ค ๊ฐ์ฒด์ ๋ํ ์ฐธ์กฐ๋ฅผ ํฌํจํด์ผ ํฉ๋๋ค(ํด๋์ค์์ ์์ฑํ๊ฑฐ๋ ์์ฑ์์์ ์ ๋ฌ).
๋ค์์ ํ๋ก์ ํด๋์ค์ ๋๋ค.
public class TimetableElectricTrainsProxy implements TimetableTrains { // ะกััะปะบะฐ ะฝะฐ ะพัะธะณะธะฝะฐะปัะฝัะน an object private TimetableTrains timetableTrains = new TimetableElectricTrains(); private String[] timetableCache = null @Override public String[] getTimetable() { return timetableTrains.getTimetable(); } @Override public String getTrainDepartureTime(String trainId) { return timetableTrains.getTrainDepartureTime(trainId); } public void clearCache() { timetableTrains = null; } }
์ด ๋จ๊ณ์์๋ ์๋ณธ ๊ฐ์ฒด์ ๋ํ ์ฐธ์กฐ๋ฅผ ์ฌ์ฉํ์ฌ ํด๋์ค๋ฅผ ๋ง๋ค๊ณ ๋ชจ๋ ํธ์ถ์ ํด๋น ํด๋์ค์ ์ ๋ฌํฉ๋๋ค.
-
์ฐ๋ฆฌ๋ ํ๋ก์ ํด๋์ค์ ๋ ผ๋ฆฌ๋ฅผ ๊ตฌํํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ํธ์ถ์ ํญ์ ์๋ ๊ฐ์ฒด๋ก ๋ฆฌ๋๋ ์ ๋ฉ๋๋ค.
public class TimetableElectricTrainsProxy implements TimetableTrains { // ะกััะปะบะฐ ะฝะฐ ะพัะธะณะธะฝะฐะปัะฝัะน an object private TimetableTrains timetableTrains = new TimetableElectricTrains(); private String[] timetableCache = null @Override public String[] getTimetable() { if(timetableCache == null) { timetableCache = timetableTrains.getTimetable(); } return timetableCache; } @Override public String getTrainDepartureTime(String trainId) { if(timetableCache == null) { timetableCache = timetableTrains.getTimetable(); } for(int i = 0; i < timetableCache.length; i++) { if(timetableCache[i].startsWith(trainId+";")) return timetableCache[i]; } return ""; } public void clearCache() { timetableTrains = null; } }
์ด ๋ฉ์๋๋
getTimetable()
์ผ์ ๋ฐฐ์ด์ด ๋ฉ๋ชจ๋ฆฌ์ ์บ์๋์ด ์๋์ง ํ์ธํฉ๋๋ค. ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ๋์คํฌ์์ ๋ฐ์ดํฐ๋ฅผ ๋ก๋ํ๋ผ๋ ์์ฒญ์ ๋ฐํํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํฉ๋๋ค. ์์ฒญ์ด ์ด๋ฏธ ์คํ ์ค์ธ ๊ฒฝ์ฐ ๋ฉ๋ชจ๋ฆฌ์์ ๊ฐ์ฒด๋ฅผ ๋น ๋ฅด๊ฒ ๋ฐํํฉ๋๋ค.๊ฐ๋จํ ๊ธฐ๋ฅ ๋๋ถ์ getTrainDepartireTime() ๋ฉ์๋๋ฅผ ์๋ ๊ฐ์ฒด๋ก ๋ฆฌ๋๋ ์ ํ ํ์๊ฐ ์์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋จ์ํ ๊ทธ ๊ธฐ๋ฅ์ ์๋ก์ด ๋ฐฉ๋ฒ์ผ๋ก ๋ณต์ ํ์ต๋๋ค.
๋น์ ์ ๊ทธ๋ ๊ฒ ํ ์ ์์ต๋๋ค. ์ฝ๋๋ฅผ ๋ณต์ ํ๊ฑฐ๋ ์ ์ฌํ ์กฐ์์ ์ํํด์ผ ํ๋ค๋ฉด ์ด๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์์ ์๋ฏธํ๋ฏ๋ก ๋ค๋ฅธ ๊ฐ๋์์ ๋ฌธ์ ๋ฅผ ์ดํด๋ด์ผ ํฉ๋๋ค. ์ฐ๋ฆฌ์ ๊ฐ๋จํ ์์์๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ด ์์ง๋ง ์ค์ ํ๋ก์ ํธ์์๋ ์ฝ๋๊ฐ ๋ ์ ํํ๊ฒ ์์ฑ๋ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค.
-
ํด๋ผ์ด์ธํธ ์ฝ๋์์ ์๋ ๊ฐ์ฒด ์์ฑ์ ๋์ฒด ๊ฐ์ฒด๋ก ๋ฐ๊ฟ๋๋ค.
public class DisplayTimetable { // ะะทะผะตะฝะตะฝะฝะฐั link private TimetableTrains timetableTrains = new TimetableElectricTrainsProxy(); public void printTimetable() { String[] timetable = timetableTrains.getTimetable(); String[] tmpArr; System.out.println("ะะพะตะทะด\tะัะบัะดะฐ\tะัะดะฐ\t\tะัะตะผั ะพัะฟัะฐะฒะปะตะฝะธั\tะัะตะผั ะฟัะธะฑััะธั\tะัะตะผั ะฒ ะฟััะธ"); for(int i = 0; i<timetable.length; i++) { tmpArr = timetable[i].split(";"); System.out.printf("%s\t%s\t%s\t\t%s\t\t\t\t%s\t\t\t%s\n", tmpArr[0], tmpArr[1], tmpArr[2], tmpArr[3], tmpArr[4], tmpArr[5]); } } }
์ํ
ะะพะตะทะด ะัะบัะดะฐ ะัะดะฐ ะัะตะผั ะพัะฟัะฐะฒะปะตะฝะธั ะัะตะผั ะฟัะธะฑััะธั ะัะตะผั ะฒ ะฟััะธ 9B-6854 ะะพะฝะดะพะฝ ะัะฐะณะฐ 13:43 21:15 07:32 BA-1404 ะะฐัะธะถ ะัะฐั 14:25 21:25 07:00 9B-8710 ะัะฐะณะฐ ะะตะฝะฐ 04:48 08:49 04:01 9B-8122 ะัะฐะณะฐ ะัะฐั 04:48 08:49 04:01
์ข์ต๋๋ค. ์ฌ๋ฐ๋ฅด๊ฒ ์๋ํฉ๋๋ค.
ํน์ ์กฐ๊ฑด์ ๋ฐ๋ผ ์๋ ๊ฐ์ฒด์ ๋์ฒด ๊ฐ์ฒด๋ฅผ ๋ชจ๋ ์์ฑํ๋ ํฉํ ๋ฆฌ๋ฅผ ๊ณ ๋ คํ ์๋ ์์ต๋๋ค.
์ ๋์ ์ ์ฉํ ๋งํฌ
-
ํจํด์ ๊ดํ ํ๋ฅญํ ๊ธฐ์ฌ์ "Deputy"์ ๊ดํ ์ฝ๊ฐ์ ๊ธฐ์ฌ
GO TO FULL VERSION