第三次Blog

第三次Blog

前言:近段时间学习了JavaFX的有关内容、接口的运用和类的聚合等知识,使我们能更灵活的解决问题满足需求,两次PTA作业就是很好的实践。

题目集7

7-1、7-2

这两题很类似主要需要考虑的是类的构建,7-1较简单,考察接口的使用,只需要建立一个含有Completo()方法的接口,然后只需按要求建立类并实现该方法得出最大面积,以及输入格式正误判断即可;

思路是先建立一个比较的completeTo接口,类实现这个接口可以实现根据面积大小排序的功能

题目集合8

这次作业我们对程序功能需求有实现功能基础数据的初始化、用户存款、取款及查询余额功能、初始化数据等一系列的工作需要进行。

 

 

 

由类图不难分析出类与类之间的关系。

首先应该搞清楚,这些类文件中之间的关系,每个类之间需要用到什么样的方法;那么我们先填写Account类,之后填写信用账户类CreditAccount;我们应该明白,他是继承Account类的,但是,他又需要拥有自身独立的属性,我们可以添加一个最高透支额度的属性,最重要的是填写Bank类的内容,在这个类中,我们要完成注册,产生银行账户,统计所有信用账户的最高透支额度的总和,统计所有账户的总余额, 查询出所有信用账户中透支额度最高的账户, 查询出所有储蓄账户中余额最高的账户等功能,用这样的方法来实现代码。

 

 

 

 

ATM(二)

这次的作业,在老师的代码基础之上,进行修改。我们务必注意本题目中的各实体类之间的关系,尤其是一对多的组合关系。在对实体类的设计要做到单一职责原则,且不能缺少规定的实体类。要实现的功能还是基础数据的初始化以及用户取款及查询余额等功能。本题UML如下

 

 

 


我们只需要改个account为抽象类,让他变成两个类,分别是贷记账户和借机账户,并且我们要针对不同的账户有不同的取钱方式即可。本题的思路其实和上一道题目差不多,都需要要完成注册,产生银行账户,统计所有信用账户的最高透支额度的总和,统计所有账户的总余额, 查询出所有信用账户中透支额度最高的账户, 查询出所有储蓄账户中余额最高的账户等功能来实现代码。

 

 

                        采坑心得

在做第一道题的过程中,避免不了多次的debug,首先要考虑每个测试点是否能够通过,就拿第七次作业来说,在使用arraylist和数组时,我们要明白他的区别在哪里,一旦我们创建了一个数组,那么它的大小就固定了。当创建Aeeaylist后,如果元素不在数组列表中,就不能使用get,set方法。并且向数组列表中添加、插入和删除元素是比较容易的。

ArrayList<int> 1istOfIntegers = new ArrayList<>();
这样的答案是行的,这样行不通,因为存储在Arraylist中的元素必须是一种对象。不能使用像int的基本数据类型来代替一个泛型类型。然而,可以创建一个存储Integer对象的ArrayList,如下所示:
ArrayList<Integer> 1istOfIntegers = new ArrayList<>();
注意remove(int index)方法移除指定下标位置的元素。要从1istOfIntegers中移除一个整数值,需要使用list0fIntegers.remove(new Integer(v))。这不是一个好的Java API设计,因为容易导致错误。将remove(int)改名为removeAt(int)会更好。
public class Main{

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

public static void main(String[] args){

ArrayList<Integer> list = new ArrayList<Integer>();

int n = cy.nextInt();

while(n!=0){

if(n<0||n>4){

System.out.println("Wrong Format");

System.exit(0);

}

 list.add(n);

 n=cy.nextInt();

}

DealCardList dealCardList = new DealCardList(list);

if(!dealCardList.validate()){

System.out.println("Wrong Format");

System.exit(0);

}

dealCardList.showResult();

cy.close();

}

}

posted @ 2021-06-20 20:24  deja__vu  阅读(43)  评论(0)    收藏  举报