package mp;
import java.text.DecimalFormat;
class Yuan extends Account
{
public Yuan() {
}
public Yuan(double amount) {
setAmount(amount);
}
public String toString() {
return "Y"+super.toString();
}
}
class Dollar extends Account
{
public Dollar() {
}
public Dollar(double amount) {
setAmount(amount);
}
public String toString() {
return "$"+super.toString();
}
}
class Account {
private double amount;
public Account() {
}
public Account(double balance) {
setAmount(balance);
}
public double getAmount() {
return amount;
}
public void setAmount(double amount) {
if (amount > 0)
this.amount = amount;
else
this.amount =0;
}
public String toString() {
DecimalFormat df = new DecimalFormat("#,###.0000");
return df.format(amount);
}
}
public class Exec {
public static void main(String[] args) {
Dollar acc1 = new Dollar();
transAccount(acc1, 2000);
Yuan acc2 = new Yuan();
transAccount(acc2, 200);
}
public static void transAccount(Account account, double amount) {
account.setAmount(amount);
System.out.println(account);
}
public static void transYuan(Yuan yuan, double amount)
{
yuan.setAmount(amount);
System.out.println(yuan);
}
public static void transDollar(Dollar dollar, double amount)
{
dollar.setAmount(amount);
System.out.println(dollar);
}
}
————————————————————————————————————————————
package mp;
import java.text.DecimalFormat;
class France extends Account {
public France() {
}
public France(double amount) {
super(amount);
}
public String toString() {
return "F" + super.toString();
}
}
class Yuan extends Account
{
public Yuan() {
}
public Yuan(double amount) {
setAmount(amount);
}
public String toString() {
return "Y"+super.toString();
}
}
class Dollar extends Account
{
public Dollar() {
}
public Dollar(double amount) {
setAmount(amount);
}
public String toString() {
return "$"+super.toString();
}
}
class Account {
private double amount;
public Account() {
}
public Account(double balance) {
setAmount(balance);
}
public double getAmount() {
return amount;
}
public void setAmount(double amount) {
if (amount > 0)
this.amount = amount;
else
this.amount =0;
}
public String toString() {
DecimalFormat df = new DecimalFormat("#,###.0000");
return df.format(amount);
}
}
public class Exec {
public static void main(String[] args) {
Dollar acc1 = new Dollar();
transAccount(acc1, 2000);
Yuan acc2 = new Yuan();
transAccount(acc2, 200);
France acc3=new France();
transAccount(acc3, 50);
}
public static void transAccount(Account account, double amount) {
account.setAmount(amount);
System.out.println(account);
}
}