public class MakeReport {
StringBuffer buffer = new StringBuffer();
private String line = "===========================================\n";
private String title = " 이름\t 주소 \t\t 전화번호 \n";
private void makeHeader()
{
buffer.append(line);
buffer.append(title);
buffer.append(line);
}
private void generateBody()
{
buffer.append("James \t");
buffer.append("Seoul Korea \t");
buffer.append("010-2222-3333\n");
buffer.append("Tomas \t");
buffer.append("NewYork US \t");
buffer.append("010-7777-0987\n");
}
private void makeFooter()
{
buffer.append(line);
}
public String getReport()
{
makeHeader();
generateBody();
makeFooter();
return buffer.toString();
}
}
public class TestReprt {
public static void main(String[] args) {
MakeReport report = new MakeReport();
String builder = report.getReport();
System.out.println(builder);
}
}
public void setYear(int year)
{
this.year = year;
}
public class Person {
String name;
int age;
public Person() {
this("이름없음", 1);
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
James와 Tomas는 각각 버스와 지하철을 타고 학교에 갑니다.
James는 5000원을 가지고 있었고, 100번 버스를 타면서 1000원을 지불합니다.
Tomas는 10000원을 가지고 있었고, 초록색 지하철을 타면서 1200원을 지불합니다.
두 학생이 버스와 지하철을 타는 상황을 구현해 봅시다
public class Student {
String studentName;
int money;
public Student(String studentName, int money) {
this.studentName = studentName;
this.money = money;
}
public void takeBus(Bus bus){
bus.take(1000);
this.money-=1000;
}
public void takeSubway(Subway subway){
subway.take(1200);
this.money-=1200;
}
public void showInfo(){
System.out.println(studentName + "님의 남은 돈은 "+money);
}
}
public class Subway {
int lineNumber;
int passengerCount;
int money;
public Subway(int lineNumber) {
this.lineNumber = lineNumber;
}
public void take(int money){
this.money+=money;
passengerCount++;
}
public void showSubwayinfo(){
System.out.println(lineNumber+"번의 승객 수는 "+passengerCount+"명 이고, 수입은 "+ money+"원 입니다.");
}
}
public class Bus {
int busNumber;
int passengerCount;
int money;
public Bus(int busNumber) {
this.busNumber = busNumber;
}
public void take(int money){
this.money+=money;
passengerCount++;
}
public void showBusinfo(){
System.out.println(busNumber+"번의 승객 수는 "+passengerCount+"명 이고, 수입은 "+ money+"원 입니다.");
}
}
public class TakeTransTest {
public static void main(String[] args) {
Student studentJ=new Student("James",5000);
Student studentT=new Student("Tomas",10000);
Bus bus100=new Bus(100);
Bus bus500=new Bus(500);
studentJ.takeBus(bus100);
Subway greenSubway=new Subway(2);
studentT.takeSubway(greenSubway);
studentJ.showInfo();
studentT.showInfo();
bus100.showBusinfo();
greenSubway.showSubwayinfo();
}
}
실행결과