ผลต่างระหว่างรุ่นของ "Java-examples"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
แถว 1: แถว 1:
 +
== Phone ==
 
=== Phone.java ===
 
=== Phone.java ===
 
<geshi lang="java">
 
<geshi lang="java">
แถว 49: แถว 50:
 
}
 
}
 
</geshi>
 
</geshi>
 +
 +
== input/output ==
 +
<pre>
 +
phone.dat
 +
---------
 +
prepaid#0812345678:1000.00
 +
postpaid#0823456789:50
 +
prepaid#0888888888:20000000
 +
 +
call.dat
 +
--------
 +
0812345678:5
 +
0812345678:2
 +
0823456789:1.5
 +
0888888888:300
 +
0823456789:12.5
 +
0823456789:40.2
 +
 +
output
 +
------
 +
0812345678:954
 +
0823456789:15.2
 +
0888888888:199992323.5
 +
</pre>

รุ่นแก้ไขเมื่อ 04:17, 29 เมษายน 2553

Phone

Phone.java

<geshi lang="java"> public class Phone { private double credit; Phone(double inCredit) { credit = inCredit; } public double getCredit() { return credit; } public void setCredit(double credit) { this.credit = credit; } public void call(double minute) { credit -= callCost(minute); } protected double callCost(double minute) { return 0; } } </geshi>

PrepaidPhone.java

<geshi lang="java"> public class PrepaidPhone extends Phone {

PrepaidPhone(double inCredit) { super(inCredit); }

protected double callCost(double minute) { if(minute <= 1) return 1; else return 1 + (minute - 1) * 0.5; } } </geshi>

PostpaidPhone.java

<geshi lang="java"> public class PostpaidPhone extends Phone {

PostpaidPhone(double inCredit) { super(inCredit); }

public double callCost(double minute) { return minute * 0.25; } } </geshi>

input/output

phone.dat
---------
prepaid#0812345678:1000.00
postpaid#0823456789:50
prepaid#0888888888:20000000

call.dat
--------
0812345678:5
0812345678:2
0823456789:1.5
0888888888:300
0823456789:12.5
0823456789:40.2

output
------
0812345678:954
0823456789:15.2
0888888888:199992323.5