Blog3作业

一:前言

  对于题目集7~9的总结,这三次题目集中,一共有四道题,题目集7有两道,题目集8和题目集9都是各有一道题。题目集7中的两道题考察的是掌握类的继承、多态性使用方法以及接口的应用,分别是设计图形卡片排序游戏和图形卡片分组游戏,难度第一道适中,第二道难度有所增加。题目集8,只有一道题,ATM机类结构设计,考察的是数据的储存,ArrayList的运用,难度还行。题目集9,只有一道题,是在题目集8的基础上提出了更高的要求,增加了贷款的功能和基础数据的增加,难度相比题目集8有所增加。

二:设计与分析

 (1)、 题目集7(7-1)、(7-2)

import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;

public class Main {
public static Scanner input = new Scanner(System.in);
public static void main(String[] args){
ArrayList<Integer> list = new ArrayList<Integer>();
int num = input.nextInt();
while(num != 0){
if(num < 0 || num > 4){
System.out.println("Wrong Format");
System.exit(0);
}
list.add(num);
num = input.nextInt();
}
DealCardList dealCardList = new DealCardList(list);
if(!dealCardList.validate()){
System.out.println("Wrong Format");
System.exit(0);
}
dealCardList.showResult();
input.close();
}
}
class Card{
Shape shape;
Card(){

}
Card(Shape shape){
this.shape=shape;
}
public Shape getShape() {
return shape;
}
public void setShape(Shape Shape) {
this.shape=shape;
}

}
class DealCardList{
ArrayList<Card> cardList=new ArrayList<Card>();
DealCardList(){

}
DealCardList(ArrayList<Integer> list){
for(int i=0;i<list.size();i++)
{
if(list.get(i)==1)
{
double r=Main.input.nextDouble();
Circle circle=new Circle(r);
Card card=new Card(circle);
card.getShape().setShapeName("Circle");
cardList.add(card);
}
if(list.get(i)==2) {
double a=Main.input.nextDouble();
double b=Main.input.nextDouble();
Rectangle rectangle=new Rectangle(a,b);
Card card=new Card(rectangle);
card.getShape().setShapeName("Rectangle");
cardList.add(card);
}
if(list.get(i)==3) {
double a=Main.input.nextDouble();
double b=Main.input.nextDouble();
double c=Main.input.nextDouble();
Triangle triangle=new Triangle(a,b,c);
Card card=new Card(triangle);
card.getShape().setShapeName("Triangle");
cardList.add(card);
}
if(list.get(i)==4) {
double a=Main.input.nextDouble();
double b=Main.input.nextDouble();
double c=Main.input.nextDouble();
Traperoid traperoid=new Traperoid(a,b,c);
Card card=new Card(traperoid);
card.getShape().setShapeName("Trapezoid");
cardList.add(card);
}
}
}
public boolean validate() {
for(int i=0;i<cardList.size();i++)
{if(!cardList.get(i).getShape().vaildate())
return false;}
return true;
}
public void cardSort() {
for(int k=0;k<cardList.size();k++)
for(int i=k+1;i<cardList.size();i++)
{
if(cardList.get(k).getShape().getArea()<cardList.get(i).getShape().getArea())
Collections.swap(cardList, k, i);
}


}
public double getAllArea() {
double s=0;
for(int i=0;i<cardList.size();i++)
s=s+cardList.get(i).getShape().getArea();
return s;
}
public void showResult() {
System.out.println("The original list:");
for(int i=0;i<cardList.size();i++)
System.out.print(cardList.get(i).getShape().getShapeName()+":"+String.format("%.2f",cardList.get(i).getShape().getArea())+" ");
System.out.println();
System.out.println("The sorted list:");
cardSort();
for(int i=0;i<cardList.size();i++)
System.out.print(cardList.get(i).getShape().getShapeName()+":"+String.format("%.2f",cardList.get(i).getShape().getArea())+" ");
System.out.println();
System.out.println("Sum of area:"+String.format("%.2f",getAllArea()));
}
}
class Shape {
private String shapeName;
Shape(){

}
Shape(String shapeName){
this.shapeName=shapeName;
}
public String getShapeName() {
return shapeName;
}
public void setShapeName(String shapeName) {
this.shapeName=shapeName;
}
public double getArea() {
return 0.0;
}
public boolean vaildate() {
return true;
}

}
class Circle extends Shape{
private double radius;
Circle(){

}
Circle(double radius){
this.radius=radius;
}
public double getArea() {
return Math.PI*radius*radius;
}
public boolean vaildate() {
if(radius>0)
return true;
else return false;
}
}
class Rectangle extends Shape{
private double width,length;
Rectangle (double width,double length){
this.width=width;
this.length=length;
}
public double getArea() {
return width*length;
}
public boolean vaildate() {
if(width>0&&length>0)
return true;
else return false;
}

}
class Triangle extends Shape{
double side1,side2,side3;
Triangle(double side1,double side2,double side3){
this.side1=side1;
this.side2=side2;
this.side3=side3;
}
public double getArea() {
double c=(side1+side2+side3)/2;
double s=Math.sqrt(c*(c-side1)*(c-side2)*(c-side3));
return s;
}
public boolean vaildate() {
if(side1+side2>side3&&side1+side3>side2&&side2+side3>side1)
return true;
else
return false;
}


}
class Traperoid extends Shape{
private double topSide,bottomSide,height;
Traperoid(){

}
Traperoid(double topSide,double bottomSide,double height){
this.bottomSide=bottomSide;
this.height=height;
this.topSide=topSide;
}
public double getArea() {
return (topSide+bottomSide)*height/2;
}
public boolean validate() {
if(topSide>0&&bottomSide>0&&height>0)
return true;
else return false;
}
}

(2)、题目集08 

import java.util.ArrayList;
import java.util.Scanner;

//胡彦博

public class Main {

public static Scanner input = new Scanner(System.in);

public static void main(String[] arg) {
String t;
String devide1[];
// String devide2[];
StringBuilder sb = new StringBuilder();
while (true) {
t = input.nextLine();
if (t.equals("#")) {
break;
}
sb.append(t);
sb.append("\n");
}
devide1 = sb.toString().split("\\n");

Data data = new Data();
ATM atm = new ATM(data);
for (String s : devide1) {
atm.begin(s);
}
}
}

class Bank {

String name;
ArrayList<String> str = new ArrayList<>();
ArrayList<User> userlist = new ArrayList<>();

Bank() {

}

Bank(String a) {
if (a.equals("中国建设银行")) {
str.clear();
str.add("01");
str.add("02");
str.add("03");
str.add("04");
}
if (a.equals("中国工商银行")) {
str.clear();
str.add("05");
str.add("06");
}
name = a;
}
}

class Data {

ArrayList<Bank> banklist = new ArrayList<>();


Data(){
Bank bank1 = new Bank("中国建设银行");
Bank bank2 = new Bank("中国工商银行");

User user;
Account account;
Card card;

user = new User("杨过");
account = new Account("3217000010041315709");
card = new Card("6217000010041315709");
account.cardlist.add(card);
card = new Card("6217000010041315715");
account.cardlist.add(card);
user.accountlist.add(account);
account = new Account("3217000010041315715");
card = new Card("6217000010041315718");
account.cardlist.add(card);
user.accountlist.add(account);
bank1.userlist.add(user);

user = new User("郭靖");
account = new Account("3217000010051320007");
card = new Card("6217000010051320007");
account.cardlist.add(card);
user.accountlist.add(account);
bank1.userlist.add(user);

banklist.add(bank1);

user = new User("张无忌");
account = new Account("3222081502001312389");
card = new Card("6222081502001312389");
account.cardlist.add(card);
user.accountlist.add(account);
account = new Account("3222081502001312390");
card = new Card("6222081502001312390");
account.cardlist.add(card);
user.accountlist.add(account);
account = new Account("3222081502001312399");
card = new Card("6222081502001312399");
account.cardlist.add(card);
card = new Card("6222081502001312400");
account.cardlist.add(card);
user.accountlist.add(account);
bank2.userlist.add(user);

user = new User("韦小宝");
account = new Account("3222081502051320785");
card = new Card("6222081502051320785");
account.cardlist.add(card);
user.accountlist.add(account);
account = new Account("3222081502051320786");
card = new Card("6222081502051320786");
account.cardlist.add(card);
user.accountlist.add(account);
bank2.userlist.add(user);

banklist.add(bank2);
}

}


class User {

String name;
ArrayList<Account> accountlist = new ArrayList<>();

User() {

}

User(String a) {
name = a;
}
}

class Account {

String name;
private double balance = 10000.00;
ArrayList<Card> cardlist = new ArrayList<>();

Account() {

}

Account(String a) {
name = a;

}

void getMoney(double m) {

balance = balance - m;

}

double shouBalance() {
return balance;
}
}

class Card {

private final String number;

Card(String a) {
number = a;
}

String getnumber() {
return number;
}

}

class ATM {

Data data;
Card card;
User user;
Account account;
Bank bank;
ArrayList<String> str = new ArrayList<>();

ATM(Data y) {
this.data = y;
str.add("01");
str.add("02");
str.add("03");
str.add("04");
str.add("05");
str.add("06");
}

void begin(String s) {
String[] devide2;
devide2 = s.split("\\s+");
if (!read(devide2[0])) {
System.out.print("Sorry,this card does not exist.");
System.exit(0);
}

if (devide2.length == 1) {
System.out.println("¥" + String.format("%.2f", account.shouBalance()));
} else {
if (!str.contains(devide2[2])) {
System.out.print("Sorry,the ATM's id is wrong.");
System.exit(0);
}
if (devide2[1].equals("88888888")) {
if (bank.str.contains(devide2[2])) {
if (Double.parseDouble(devide2[3]) > account.shouBalance()) {
System.out.print("Sorry,your account balance is insufficient.");
System.exit(0);
} else {
account.getMoney(Double.parseDouble(devide2[3]));
if (Double.parseDouble(devide2[3]) > 0) {
System.out.println(user.name + "在" + bank.name + "的" + devide2[2] + "号ATM机上取款¥" + devide2[3]);
} else {
System.out.println(user.name + "在" + bank.name + "的" + devide2[2] + "号ATM机上存款¥" + String.format("%.2f", -Double.parseDouble(devide2[3])));
}
System.out.println("当前余额为¥" + String.format("%.2f", account.shouBalance()));
}
} else {
System.out.println("Sorry,cross-bank withdrawal is not supported.");
System.exit(0);
}
} else {
System.out.println("Sorry,your password is wrong.");
System.exit(0);
}

}
}

boolean read(String k) {
for (Bank b : data.banklist) {
for (User uu : b.userlist) {
for (Account aa : uu.accountlist) {
for (Card cc : aa.cardlist) {
if (cc.getnumber().equals(k)) {
this.card = cc;
bank = b;
this.user = uu;
this.account = aa;
return true;
}
}
}
}
}
return false;
}

}

设计分析:

  将输入的数据看成是一个很长的一个字符串,一行一行的输入,让后通过split方法,将字符串通过空格和换行符分开,然后对每一个分开的字符串进行比较,提取有用信息,当输入的字符串等于#的时候,就跳出输入的循环,对已经输入的字符串进行处理。

  设置一个Bank类,里面有银行的名字,ArrayList等,将每个银行对于的ATM机数据输入。

  设置一个Data类,里面用ArrayList,将所有的数据存入。

  设置一个User类,里面有用户的名字,ArrayList等。

  设置一个Account类,里面有账户的号码字符串,私有属性账户余额balance,方法getMoney,可以计算出剩余的金额。

  设置一个Card类,里面有私有属性number。

  设置一个ATM类,在里面定义一些类,将Data的数据导入,然后定义一个begin方法,对字符串进行比较,处理,最后按规定格式输出数据。

(3)题目集09

  

import java.util.ArrayList;
import java.util.Scanner;

//胡彦博

public class Main {

public static Scanner input = new Scanner(System.in);

public static void main(String[] arg) {
String t;
String devide1[];
// String devide2[];
StringBuilder allstring = new StringBuilder();
while (true) {
t = input.nextLine();
if (t.equals("#")) {
break;
}
allstring.append(t);
allstring.append("\n");
}
devide1 = allstring.toString().split("\\n");

Data data = new Data();
ATM atm = new ATM(data);
for (String s : devide1) {
atm.begin(s);
}
}
}

class Bank {

String name;
ArrayList<String> str = new ArrayList<>();
ArrayList<User> userlist = new ArrayList<>();

Bank() {

}

Bank(String a) {
if (a.equals("中国建设银行")) {
str.clear();
str.add("01");
str.add("02");
str.add("03");
str.add("04");
}
if (a.equals("中国工商银行")) {
str.clear();
str.add("05");
str.add("06");
}
if(a.equals("中国农业银行")) {
str.clear();
str.add("07");
str.add("08");
str.add("09");
str.add("10");
str.add("11");
}
name = a;
}
}

class Data {

ArrayList<Bank> banklist = new ArrayList<>();


Data(){
Bank bank1 = new Bank("中国建设银行");
Bank bank2 = new Bank("中国工商银行");
Bank bank3 = new Bank("中国农业银行");

User user;
Account account;
Species species;
Card card;

user = new User("杨过");
account = new Account("3217000010041315709");
species = new Species("借记账号");
card = new Card("6217000010041315709");
account.specieslist.add(species);
species.cardlist.add(card);
card = new Card("6217000010041315715");
species.cardlist.add(card);
user.accountlist.add(account);
account = new Account("3217000010041315715");
species = new Species("借记账号");
card = new Card("6217000010041315718");
species.cardlist.add(card);
account.specieslist.add(species);
user.accountlist.add(account);
bank1.userlist.add(user);

user = new User("郭靖");
account = new Account("3217000010051320007");
species = new Species("借记账号");
card = new Card("6217000010051320007");
species.cardlist.add(card);
account.specieslist.add(species);
user.accountlist.add(account);
bank1.userlist.add(user);

user = new User("张三丰");
account = new Account("3640000010045442002");
species = new Species("贷记账号");
card = new Card("6640000010045442002");
species.cardlist.add(card);
card = new Card("6640000010045442003");
species.cardlist.add(card);
account.specieslist.add(species);
user.accountlist.add(account);
bank1.userlist.add(user);

banklist.add(bank1);

user = new User("张无忌");
account = new Account("3222081502001312389");
species = new Species("借记账号");
card = new Card("6222081502001312389");
species.cardlist.add(card);
account.specieslist.add(species);
user.accountlist.add(account);
account = new Account("3222081502001312390");
species = new Species("借记账号");
card = new Card("6222081502001312390");
species.cardlist.add(card);
account.specieslist.add(species);
user.accountlist.add(account);
account = new Account("3222081502001312399");
species = new Species("借记账号");
card = new Card("6222081502001312399");
species.cardlist.add(card);
account.specieslist.add(species);
species = new Species("借记账号");
card = new Card("6222081502001312400");
species.cardlist.add(card);
account.specieslist.add(species);
user.accountlist.add(account);
bank2.userlist.add(user);

user = new User("韦小宝");
account = new Account("3222081502051320785");
species = new Species("借记账号");
card = new Card("6222081502051320785");
species.cardlist.add(card);
user.accountlist.add(account);
account = new Account("3222081502051320786");
species = new Species("借记账号");
card = new Card("6222081502051320786");
species.cardlist.add(card);
user.accountlist.add(account);
bank2.userlist.add(user);

user = new User("令狐冲");
account = new Account("3640000010045441009");
species = new Species("贷记账号");
card = new Card("6640000010045441009");
species.cardlist.add(card);
user.accountlist.add(account);
bank2.userlist.add(user);

banklist.add(bank2);

user = new User("乔峰");
account = new Account("3630000010033431001");
species = new Species("贷记账号");
card = new Card("6630000010033431001");
species.cardlist.add(card);
user.accountlist.add(account);
bank2.userlist.add(user);

user = new User("洪七公");
account = new Account("3630000010033431008");
species = new Species("贷记账号");
card = new Card("6630000010033431008");
species.cardlist.add(card);
user.accountlist.add(account);
bank2.userlist.add(user);

banklist.add(bank3);
}

}


class User {

String name;
ArrayList<Account> accountlist = new ArrayList<>();

User() {

}

User(String a) {
name = a;
}
}

class Account {

String name;
private double balance = 10000.00;
ArrayList<Species> specieslist = new ArrayList<>();

Account() {

}

Account(String a) {
name = a;

}

void getMoney(double m) {

balance = balance - m ;

}

double shouBalance() {
return balance;
}
}

class Species{
String name;
ArrayList<Card> cardlist = new ArrayList<>();
Species(){

}

Species(String a){

}
}

class Card {

private final String number;

Card(String a) {
number = a;
}

String getnumber() {
return number;
}

}

class ATM {

Data data;
Card card;
User user;
Account account;
Bank bank;
Species species;

ArrayList<String> str = new ArrayList<>();

double flag;

ATM(Data y) {
this.data = y;
str.add("01");
str.add("02");
str.add("03");
str.add("04");
str.add("05");
str.add("06");
str.add("07");
str.add("08");
str.add("09");
str.add("10");
str.add("11");
}

void begin(String s) {
String[] devide2;
devide2 = s.split("\\s+");
if (!read(devide2[0])) {
System.out.print("Sorry,this card does not exist.");
System.exit(0);
}

if (devide2.length == 1) {
System.out.println("业务:查询余额¥" + String.format("%.2f", account.shouBalance()));
} else {
if (!str.contains(devide2[2])) {
System.out.print("Sorry,the ATM's id is wrong.");
System.exit(0);
}
if (devide2[1].equals("88888888")) {
if (bank.str.contains(devide2[2])) {
if (Double.parseDouble(devide2[3]) > account.shouBalance()) {
if(account.specieslist.contains("借记账号")) {
System.out.print("Sorry,your account balance is insufficient.");
System.exit(0);
}else {
if(Double.parseDouble(devide2[3]) > account.shouBalance()+50000) {
System.out.print("Sorry,your account balance is insufficient.");
System.exit(0);
}else {
flag = account.shouBalance();
account.getMoney(Double.parseDouble(devide2[3]));
if (Double.parseDouble(devide2[3]) > 0) {
System.out.println("业务:取款 "+user.name + "在" + bank.name + "的" + devide2[2] + "号ATM机上取款¥" + devide2[3]);
System.out.println("当前余额为¥"+(account.shouBalance()-(Double.parseDouble(devide2[3])-flag)*0.05));
} else {
System.out.println("业务:存款 "+user.name + "在" + bank.name + "的" + devide2[2] + "号ATM机上存款¥" + String.format("%.2f", -Double.parseDouble(devide2[3])));
System.out.println("当前余额为¥"+account.shouBalance());
}
}
}

} else {
account.getMoney(Double.parseDouble(devide2[3]));
if (Double.parseDouble(devide2[3]) > 0) {
System.out.println("业务:取款 "+user.name + "在" + bank.name + "的" + devide2[2] + "号ATM机上取款¥" + devide2[3]);
System.out.println("当前余额为¥"+account.shouBalance());
} else {
System.out.println("业务:存款 "+user.name + "在" + bank.name + "的" + devide2[2] + "号ATM机上存款¥" + String.format("%.2f", -Double.parseDouble(devide2[3])));
System.out.println("当前余额为¥"+account.shouBalance());
}
}
} else {
if(devide2[2].contains("01")||devide2[2].contains("02")||devide2[2].contains("03")||devide2[2].contains("04")) {
if (Double.parseDouble(devide2[3]) > account.shouBalance()) {
if(account.specieslist.contains("借记账号")) {
System.out.print("Sorry,your account balance is insufficient.");
System.exit(0);
}else {
if(Double.parseDouble(devide2[3]) > account.shouBalance()+50000) {
System.out.print("Sorry,your account balance is insufficient.");
System.exit(0);
}else {
flag = account.shouBalance();
account.getMoney(Double.parseDouble(devide2[3]));
if (Double.parseDouble(devide2[3]) > 0) {
System.out.println("业务:取款 "+user.name + "在" + "中国建设银行" + "的" + devide2[2] + "号ATM机上取款¥" + devide2[3]);
System.out.println("当前余额为¥"+(account.shouBalance()-(Double.parseDouble(devide2[3])-flag)*0.07));
} else {
System.out.println("业务:存款 "+user.name + "在" + "中国建设银行" + "的" + devide2[2] + "号ATM机上存款¥" + String.format("%.2f", -Double.parseDouble(devide2[3])));
System.out.println("当前余额为¥"+account.shouBalance());
}
}
}

} else {
account.getMoney(Double.parseDouble(devide2[3]));
if (Double.parseDouble(devide2[3]) > 0) {
System.out.println("业务:取款 "+user.name + "在" + "中国建设银行" + "的" + devide2[2] + "号ATM机上取款¥" + devide2[3]);
System.out.println("当前余额为¥"+(account.shouBalance()-Double.parseDouble(devide2[3])*0.02));
} else {
System.out.println("业务:存款 "+user.name + "在" +"中国建设银行" + "的" + devide2[2] + "号ATM机上存款¥" + String.format("%.2f", -Double.parseDouble(devide2[3])));
System.out.println("当前余额为¥"+account.shouBalance());
}
}
}
if(devide2[2].contains("05")||devide2[2].contains("06")) {
if (Double.parseDouble(devide2[3]) > account.shouBalance()) {
if(account.specieslist.contains("借记账号")) {
System.out.print("Sorry,your account balance is insufficient.");
System.exit(0);
}else {
if(Double.parseDouble(devide2[3]) > account.shouBalance()+50000) {
System.out.print("Sorry,your account balance is insufficient.");
System.exit(0);
}else {
flag = account.shouBalance();
account.getMoney(Double.parseDouble(devide2[3]));
if (Double.parseDouble(devide2[3]) > 0) {
System.out.println("业务:取款 "+user.name + "在" + "中国工商银行" + "的" + devide2[2] + "号ATM机上取款¥" + devide2[3]);
System.out.println("当前余额为¥"+(account.shouBalance()-(Double.parseDouble(devide2[3])-flag)*0.08));
} else {
System.out.println("业务:存款 "+user.name + "在" + "中国工商银行" + "的" + devide2[2] + "号ATM机上存款¥" + String.format("%.2f", -Double.parseDouble(devide2[3])));
System.out.println("当前余额为¥"+account.shouBalance());
}
}
}

} else {
account.getMoney(Double.parseDouble(devide2[3]));
if (Double.parseDouble(devide2[3]) > 0) {
System.out.println("业务:取款 "+user.name + "在" +"中国工商银行" + "的" + devide2[2] + "号ATM机上取款¥" + devide2[3]);
System.out.println("当前余额为¥"+(account.shouBalance()-Double.parseDouble(devide2[3])*0.03));
} else {
System.out.println("业务:存款 "+user.name + "在" + "中国工商银行"+ "的" + devide2[2] + "号ATM机上存款¥" + String.format("%.2f", -Double.parseDouble(devide2[3])));
System.out.println("当前余额为¥"+account.shouBalance());
}
}
}
if(devide2[2].contains("07")||devide2[2].contains("08")||devide2[2].contains("09")||devide2[2].contains("10")||devide2[2].contains("11")) {
if (Double.parseDouble(devide2[3]) > account.shouBalance()) {
if(account.specieslist.contains("借记账号")) {
System.out.print("Sorry,your account balance is insufficient.");
System.exit(0);
}else {
if(Double.parseDouble(devide2[3]) > account.shouBalance()+50000) {
System.out.print("Sorry,your account balance is insufficient.");
System.exit(0);
}else {
flag = account.shouBalance();
account.getMoney(Double.parseDouble(devide2[3]));
if (Double.parseDouble(devide2[3]) > 0) {
System.out.println("业务:取款 "+user.name + "在" + "中国农业银行" + "的" + devide2[2] + "号ATM机上取款¥" + devide2[3]);
System.out.println("当前余额为¥"+(account.shouBalance()-(Double.parseDouble(devide2[3])-flag)*0.09));
} else {
System.out.println("业务:存款 "+user.name + "在" + "中国农业银行" + "的" + devide2[2] + "号ATM机上存款¥" + String.format("%.2f", -Double.parseDouble(devide2[3])));
System.out.println("当前余额为¥"+account.shouBalance());
}
}
}

} else {
account.getMoney(Double.parseDouble(devide2[3]));
if (Double.parseDouble(devide2[3]) > 0) {
System.out.println("业务:取款 "+user.name + "在" + "中国农业银行" + "的" + devide2[2] + "号ATM机上取款¥" + devide2[3]);
System.out.println("当前余额为¥"+(account.shouBalance()-Double.parseDouble(devide2[3])*0.04));
} else {
System.out.println("业务:存款 "+user.name + "在" + "中国农业银行" + "的" + devide2[2] + "号ATM机上存款¥" + String.format("%.2f", -Double.parseDouble(devide2[3])));
System.out.println("当前余额为¥"+account.shouBalance());
}
}
}
}
} else {
System.out.println("Sorry,your password is wrong.");
System.exit(0);
}

}
}

boolean read(String k) {
for (Bank bb : data.banklist) {
for (User uu : bb.userlist) {
for (Account aa : uu.accountlist) {
for(Species ss : aa.specieslist)
for (Card cc : ss.cardlist) {
if (cc.getnumber().equals(k)) {
this.card = cc;
bank = bb;
this.user = uu;
this.account = aa;
this.species = ss;
return true;
}
}
}
}
}
return false;
}

}

设计分析:

  对于题目集09的设计,与题目集08的类似,除了增加了数据的数量,还出现了跨行去狂和贷款的功能,通过对数据类型的转化,在输出的时候稍加变动,就可以符合题目要求。

三:踩坑心得

  在写题目集7的时候思路方面并无大问题,而在书写题目集8的时候,对于数据的输入和输出,对于字符串的分开,数据类型的转换出现了问题,而后通过查阅资料已经克服。

四:改进意见

  对于题目集7我并无改进意见,对于题目集9,我想提出改进意见。是否可以跨行存款,这里是一个BUG。

五:总结

  通过这三次的题目集,学到了类的继承、多态性使用方法以及接口的应用,在类的继承,接口的连接方面还需要进一步学习和研究。对于教师、课程、作业、实验、课上及课下组织方式等方面并无改进意见。

posted @ 2021-06-16 21:56  身南心北  阅读(48)  评论(0)    收藏  举报