java哪些框架用到了责任链模式
import java。io。*;
class PurchaseRequest{
public double Amount;
public int Number;
public String Purpose;
};
class Approver{
public Approver(){ successor=null;}
public void ProcessRequest(PurchaseRequest aRequest){
if(successor!=null){ successor。ProcessRequest(aRequest);}
}
public void SetSuccessor(Approver aSuccessor) { successor=aSuccessor;}
private Approver successor;
};
class Congress extends Approver {
public void ProcessRequest(PurchaseRequest aRequest){
if(aRequest。Amount<;500000){
System。out。println("Congress is processing");
}
else super。ProcessRequest(aRequest);
}
}
class President extends Approver {
public void ProcessRequest(PurchaseRequest aRequest){
if(aRequest。Amount>;=500000){
System。out。println("President is processing");
}
else super。ProcessRequest(aRequest);
}
}
class VicePresident extends Approver {
public void ProcessRequest(PurchaseRequest aRequest){
if(aRequest。Amount<;100000){
System。out。println("VicePresident is processing");
}
else super。ProcessRequest(aRequest);
}
}
class Director extends Approver {
public void ProcessRequest(PurchaseRequest aRequest){
if(aRequest。Amount<;50000){
System。out。println("Director is processing");
}
else super。ProcessRequest(aRequest);
}
}
public class rs
{
public static void main(String[] args) throws IOException {
Congress Meeting = new Congress();
President Tammy = new President();
VicePresident Sam = new VicePresident();
Director Larry = new Director();
//Construct Chain of Responsibility
Meeting。SetSuccessor(null);
Tammy。SetSuccessor(Meeting);
Sam。SetSuccessor(Tammy);
Larry。SetSuccessor(Sam);
PurchaseRequest aRequest = new PurchaseRequest();
BufferedReader br = new BufferedReader(new InputStreamReader(System。in));
aRequest。Amount=Double。parseDouble(br。readLine());
Larry。ProcessRequest(aRequest);
}
}
list。add(bean5); list。add(bean6)。a = a。dofilter(list); }else{ system。out。println("处理结束"); } } public void setfilter(filter filter){ this; class comparefilter extends filter{ public void dofilter(list list){ for(int i= 0; i<; list。size();sourcebean&;gt。dofilter(list); system。remove(i);这里对奇数过滤两次; } } } } /** * 仅过滤a为奇数 */ public class chain_test1 { public static void main(string[] args) { list list = new arraylist<; i++){ if(list。get(i), 200);非偶数 list。list; /。util。arraylist; import java。util。tostring());/----------------先写了个。get(i)。geta() % 2 != 0){// this。b = b; } public sourcebean(){ } public string tostring(){ return "[a="+a+", b="+b+"] "; } public int geta() { return a; } public void seta(int a) { this。a = a; } public void setb(int b) { this。b = b; } public int getb() { return b; } } //------------------------执行结果---------------------------- 过滤前list中的内容 [a=1, b=100] [a=2, b=200] [a=3, b=100] [a=4, b=100] [a=5, b=20] [a=6, b=200] 过滤后list中的内容 [a=4, b=100],功能是实现了,有待改进----------- import java;交给其他filter处理 super。println(" i<; list。add(bean3);即。dofilter(list); } } } } class sourcebean { private int a;** * 现有list类型的list对象, * 现在需要将该list对象中a是奇数或者b>; system。out。println("过滤前list中的内容"sourcebean>; } } } class filter{ private filter filter;** * 仅仅过滤b>; private int b; public sourcebean(int a, int b){ this;/交给其他filter处理 super。dofilter(list)。out,oddfilter仅过滤奇数,comparefilter仅仅过滤b>;100 //(); sourcebean bean1 = new sourcebean(1, 100); sourcebean bean2 = new sourcebean(2, 200); sourcebean bean3 = new sourcebean(3, 100); sourcebean bean4 = new sourcebean(4, 100); sourcebean bean5 = new sourcebean(5, 20); // printlist(list); 装配 链条 filter oddfilter = new oddfilter(); //移除该对象 }else{/\n过滤后list中的内容"); printlist(list); } public static void printlist(list list){ for(sourcebean s! list){ system;100和a是奇数 共存的情形 filter oddfilter2 = new oddfilter();b>;100 list。remove(i);/ sourcebean bean6 = new sourcebean(6;100的对象过滤掉;移除该对象 }else{// list; } } /。filter = filter, * 请用责任链模式实现此段代码。 * @author administrator * */!= null){ filter,过滤掉b>; public void dofilter(list list){ if (filter ;100 */// oddfilter2。setfilter(comparefilter); list。add(bean1); 进行过滤 oddfilter2; list。add(bean2); class oddfilter extends filter{ public void dofilter(list<;, ///为了保持filter里面的逻辑不混乱; //。size(); i++){ if(list; list。add(bean4);); list){ for(int i= 0。print(s; filter comparefilter = new comparefilter(); oddfilter。setfilter(null); comparefilter。setfilter(oddfilter)。getb() >; 100 ){//。out/
成都java软件培训班哪个好
首先选着培训机构就要檫亮眼睛,知道如今的市场行情,需要掌握什么技能才能找到一份Java开发的工作,现在公司需要什么人才,这个就是你学习的一个方向。你要知道自己每天学习什么,因为接触过的新手比较多,很多人学着学着就放弃,或者他们不知道自己在学习什么,这样非常迷茫一点计划没有,肯定是学不会Java的,所以学习Java要知道每天学习什么,做什么案例。选好培训机构是你踏IT行业的最关键的一步。
学编程第一个要求:得有兴趣
只要能学习,其实你什么都不会都不重要了,关键是你要确定你要学习java,所以你对学习java的编程问题不大,学习编程和学校里的学习没啥区别的,被大多数人认为很枯燥。如果你感兴趣和做好感觉很枯燥,那么源姐就建议你重新考虑一下你的兴趣爱好这一点,投身学习意味着你要把和别人聊天的时间拿来学习,和别人打游戏的时间拿来学习,把以前玩乐的时间拿来学习,有失必有的,这是亘古不变的道理,说到学习的问题,你首先要对键盘,硬盘,内存,中央处理器有所了解,虽然说不太挨边,但是这是对你了解计算机的一个好的出发点。
确定自己编程到底要干嘛
java毫无疑问是业界第一,大型企业级系统开发首选语言。比如你想的到的大公司的主干系统都是java开发,从业人数也是业内第一,并且每年都有大量的人才涌入这个领域。还有就是这个行业不比其他,不是随便什么人都可以上手,IT行业,必须得有真正的技术,如果你是想,我就当学了一门技术,以后创业不行,干回老本行?想清楚自己为什么要学java
必须得持续努力
或许你刚开始学习编程很有兴趣,但是学完,找到工作后,你就故步自封。不想学现在流行的技术框架了。说实话,现在计算机行业,每年一变,3年一大变。你不学习新技术,以后绝对会淘汰。弄不好被公司劝退。
找到自己喜欢的开发语言
Java:
毫无疑问的业界第一,大型企业级系统开发首选语言。比如你想的到的大公司的主干系统都是java开发,从业人数也是业内第一,并且每年都有大量的人才涌入这个领域。
C
唯一能对java发起挑战的语言。C语言属于底层语言,嵌入式,操作系统都是C的天下,正是由于系统级的优势,导致C语言在服务器软件开发中处于王者地位,很多著名的软件都是C开发的,比如nginx,另外由于C语言出色的性能,很多组件,第三方库都是用C编写的
C++
最大的C++需求来自于游戏行业,还有金融行业特别是交易系统对C++有需求,跟C一样,学习难度比较大,但是能用C,C++写出软件的,通常都是大神。
Python
说用户需求量最大的是java,但是要说最火的语言,那一定就是python了。短短几年间,传遍全球的词汇,这几个词你就知道了,人工智能,大数据,比特币价格区块链,量化交易。正式这些新兴的行业带火了python,所以你在掌握java以后,不妨学学python
评论