内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

java執(zhí)行鏈代碼 執(zhí)行java程序的編譯命令是什么

用java代碼實(shí)現(xiàn)責(zé)任鏈模式的骨干代碼

//----------------先寫(xiě)了個(gè),功能是實(shí)現(xiàn)了,有待改進(jìn)-----------

為下陸等地區(qū)用戶(hù)提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及下陸網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、下陸網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專(zhuān)業(yè)、用心的態(tài)度為用戶(hù)提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶(hù)的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

import java.util.ArrayList;

import java.util.List;

/**

* 現(xiàn)有ListSourceBean類(lèi)型的List對(duì)象,

* 現(xiàn)在需要將該List對(duì)象中a是奇數(shù)或者b100的對(duì)象過(guò)濾掉,

* 請(qǐng)用責(zé)任鏈模式實(shí)現(xiàn)此段代碼。

* @author Administrator

*

*/

public class Chain_test1 {

public static void main(String[] args) {

ListSourceBean list = new ArrayListSourceBean();

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);

SourceBean bean6 = new SourceBean(6, 200);

list.add(bean1);

list.add(bean2);

list.add(bean3);

list.add(bean4);

list.add(bean5);

list.add(bean6);

System.out.println("過(guò)濾前List中的內(nèi)容");

printList(list);

// 裝配 鏈條

Filter oddFilter = new OddFilter();

//為了保持Filter里面的邏輯不混亂,OddFilter僅過(guò)濾奇數(shù),CompareFilter僅僅過(guò)濾b100

//這里對(duì)奇數(shù)過(guò)濾兩次,

//即,過(guò)濾掉b100和a是奇數(shù) 共存的情形

Filter oddFilter2 = new OddFilter();

Filter compareFilter = new CompareFilter();

oddFilter.setFilter(null);

compareFilter.setFilter(oddFilter);

oddFilter2.setFilter(compareFilter);

// 進(jìn)行過(guò)濾

oddFilter2.doFilter(list);

System.out.println("\n過(guò)濾后List中的內(nèi)容");

printList(list);

}

public static void printList(ListSourceBean list){

for(SourceBean s: list){

System.out.print(s.toString());

}

}

}

class Filter{

private Filter filter;

public void doFilter(ListSourceBean list){

if (filter != null){

filter.doFilter(list);

}else{

System.out.println("處理結(jié)束");

}

}

public void setFilter(Filter filter){

this.filter = filter;

}

}

/**

* 僅僅過(guò)濾b100

*/

class CompareFilter extends Filter{

public void doFilter(ListSourceBean list){

for(int i= 0; i list.size(); i++){

if(list.get(i).getB() 100 ){//b100

list.remove(i);//移除該對(duì)象

}else{//交給其他Filter處理

super.doFilter(list);

}

}

}

}

/**

* 僅過(guò)濾a為奇數(shù)

*/

class OddFilter extends Filter{

public void doFilter(ListSourceBean list){

for(int i= 0; i list.size(); i++){

if(list.get(i).getA() % 2 != 0){//非偶數(shù)

list.remove(i);//移除該對(duì)象

}else{//交給其他Filter處理

super.doFilter(list);

}

}

}

}

class SourceBean {

private int a;

private int b;

public SourceBean(int a, int b){

this.a = a;

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;

}

}

//------------------------執(zhí)行結(jié)果----------------------------

過(guò)濾前List中的內(nèi)容

[a=1, b=100] [a=2, b=200] [a=3, b=100] [a=4, b=100] [a=5, b=20] [a=6, b=200]

過(guò)濾后List中的內(nèi)容

[a=4, b=100]

怎么樣用JAVA實(shí)現(xiàn)鏈表

// ---greatwqs----

import java.io.*;

public class List {

// 用變量來(lái)實(shí)現(xiàn)表頭

private Node Head = null;

private Node Tail = null;

private Node Pointer = null;

private int Length = 0;

/** 清空整個(gè)鏈表 */

public void deleteAll() {

Head = null;

Tail = null;

Pointer = null;

Length = 0;

}

/** 鏈表復(fù)位,使第一個(gè)結(jié)點(diǎn) 成為當(dāng)前結(jié)點(diǎn) */

public void reset() {

Pointer = null;

}

/** 判斷鏈表是否為空 */

public boolean isEmpty() {

return (Length == 0);

}

/** 判斷當(dāng)前結(jié)點(diǎn)是否 為最后一個(gè)結(jié)點(diǎn) */

public boolean isEnd() {

if (Length == 0)

throw new java.lang.NullPointerException();

else if (Length == 1)

return true;

else

return (cursor() == Tail);

}

/** 返回當(dāng)前結(jié)點(diǎn)的下一個(gè)結(jié)點(diǎn)的值, 并使其成為當(dāng)前結(jié)點(diǎn) */

public Object nextNode() {

if (Length == 1)

throw new java.util.NoSuchElementException();

else if (Length == 0)

throw new java.lang.NullPointerException();

else {

Node temp = cursor();

Pointer = temp;

if (temp != Tail)

return (temp.next.data);

else

throw new java.util.NoSuchElementException();

}

}

/** 返回當(dāng)前結(jié)點(diǎn)的值 */

public Object currentNode() {

Node temp = cursor();

return temp.data;

}

/** 在當(dāng)前結(jié)點(diǎn)前插入一個(gè)結(jié)點(diǎn), 并使其成為當(dāng)前結(jié)點(diǎn) */

public void insert(Object d) {

Node e = new Node(d);

if (Length == 0) {

Tail = e;

Head = e;

} else {

Node temp = cursor();

e.next = temp;

if (Pointer == null)

Head = e;

else

Pointer.next = e;

}

Length++;

}

/** 返回鏈表的大小 */

public int size() {

return (Length);

}

/**

* 將當(dāng)前結(jié)點(diǎn)移出鏈表,下一個(gè)結(jié)點(diǎn)成為當(dāng)前結(jié)點(diǎn), 如果移出的結(jié)點(diǎn)是最后一個(gè)結(jié)點(diǎn),則第一個(gè)結(jié)點(diǎn)成為當(dāng)前結(jié)點(diǎn)

*/

public Object remove() {

Object temp;

if (Length == 0)

throw new java.util.NoSuchElementException();

else if (Length == 1) {

temp = Head.data;

deleteAll();

} else {

Node cur = cursor();

temp = cur.data;

if (cur == Head)

Head = cur.next;

else if (cur == Tail) {

Pointer.next = null;

Tail = Pointer;

reset();

} else

Pointer.next = cur.next;

Length--;

}

return temp;

}

/** 返回當(dāng)前結(jié)點(diǎn)的指針 */

private Node cursor() {

if (Head == null)

throw new java.lang.NullPointerException();

else if (Pointer == null)

return Head;

else

return Pointer.next;

}

/** 鏈表的簡(jiǎn)單應(yīng)用舉例 */

public static void main(String[] args) {

List a = new List();

for (int i = 1; i = 10; i++)

a.insert(new Integer(i));

System.out.println(a.currentNode());

while (!a.isEnd())

System.out.println(a.nextNode());

a.reset();

while (!a.isEnd()) {

a.remove();

}

a.remove();

a.reset();

if (a.isEmpty())

System.out.println("There is no Node in List \n");

System.out.println("You can press return to quit\n");

try {

// 確保用戶(hù)看清程序運(yùn)行結(jié)果

System.in.read();

} catch (IOException e) {

}

}

}

// 構(gòu)成鏈表的結(jié)點(diǎn)定義

class Node {

Object data;

Node next;

Node(Object d) {

data = d;

next = null;

}

}

java如何實(shí)現(xiàn)鏈表

鏈表是一種重要的數(shù)據(jù)結(jié)構(gòu),在程序設(shè)計(jì)中占有很重要的地位。C語(yǔ)言和C++語(yǔ)言中是用指針來(lái)實(shí)現(xiàn)鏈表結(jié)構(gòu)的,由于Java語(yǔ)言不提供指針,所以有人認(rèn)為在Java語(yǔ)言中不能實(shí)現(xiàn)鏈表,其實(shí)不然,Java語(yǔ)言比C和C++更容易實(shí)現(xiàn)鏈表結(jié)構(gòu)。Java語(yǔ)言中的對(duì)象引用實(shí)際上是一個(gè)指針(本文中的指針均為概念上的意義,而非語(yǔ)言提供的數(shù)據(jù)類(lèi)型),所以我們可以編寫(xiě)這樣的類(lèi)來(lái)實(shí)現(xiàn)鏈表中的結(jié)點(diǎn)。

class Node

{

Object data;

Node next;//指向下一個(gè)結(jié)點(diǎn)

}

將數(shù)據(jù)域定義成Object類(lèi)是因?yàn)镺bject類(lèi)是廣義超類(lèi),任何類(lèi)對(duì)象都可以給其賦值,增加了代碼的通用性。為了使鏈表可以被訪(fǎng)問(wèn)還需要定義一個(gè)表頭,表頭必須包含指向第一個(gè)結(jié)點(diǎn)的指針和指向當(dāng)前結(jié)點(diǎn)的指針。為了便于在鏈表尾部增加結(jié)點(diǎn),還可以增加一指向鏈表尾部的指針,另外還可以用一個(gè)域來(lái)表示鏈表的大小,當(dāng)調(diào)用者想得到鏈表的大小時(shí),不必遍歷整個(gè)鏈表。下圖是這種鏈表的示意圖:

鏈表的數(shù)據(jù)結(jié)構(gòu)

我們可以用類(lèi)List來(lái)實(shí)現(xiàn)鏈表結(jié)構(gòu),用變量Head、Tail、Length、Pointer來(lái)實(shí)現(xiàn)表頭。存儲(chǔ)當(dāng)前結(jié)點(diǎn)的指針時(shí)有一定的技巧,Pointer并非存儲(chǔ)指向當(dāng)前結(jié)點(diǎn)的指針,而是存儲(chǔ)指向它的前趨結(jié)點(diǎn)的指針,當(dāng)其值為null時(shí)表示當(dāng)前結(jié)點(diǎn)是第一個(gè)結(jié)點(diǎn)。那么為什么要這樣做呢?這是因?yàn)楫?dāng)刪除當(dāng)前結(jié)點(diǎn)后仍需保證剩下的結(jié)點(diǎn)構(gòu)成鏈表,如果Pointer指向當(dāng)前結(jié)點(diǎn),則會(huì)給操作帶來(lái)很大困難。那么如何得到當(dāng)前結(jié)點(diǎn)呢,我們定義了一個(gè)方法cursor(),返回值是指向當(dāng)前結(jié)點(diǎn)的指針。類(lèi)List還定義了一些方法來(lái)實(shí)現(xiàn)對(duì)鏈表的基本操作,通過(guò)運(yùn)用這些基本操作我們可以對(duì)鏈表進(jìn)行各種操作。例如reset()方法使第一個(gè)結(jié)點(diǎn)成為當(dāng)前結(jié)點(diǎn)。insert(Object d)方法在當(dāng)前結(jié)點(diǎn)前插入一個(gè)結(jié)點(diǎn),并使其成為當(dāng)前結(jié)點(diǎn)。remove()方法刪除當(dāng)前結(jié)點(diǎn)同時(shí)返回其內(nèi)容,并使其后繼結(jié)點(diǎn)成為當(dāng)前結(jié)點(diǎn),如果刪除的是最后一個(gè)結(jié)點(diǎn),則第一個(gè)結(jié)點(diǎn)變?yōu)楫?dāng)前結(jié)點(diǎn)。

鏈表類(lèi)List的源代碼如下:

import java.io.*;

public class List

{

/*用變量來(lái)實(shí)現(xiàn)表頭*/

private Node Head=null;

private Node Tail=null;

private Node Pointer=null;

private int Length=0;

public void deleteAll()

/*清空整個(gè)鏈表*/

{

Head=null;

Tail=null;

Pointer=null;

Length=0;

}

public void reset()

/*鏈表復(fù)位,使第一個(gè)結(jié)點(diǎn)成為當(dāng)前結(jié)點(diǎn)*/

{

Pointer=null;

}

public boolean isEmpty()

/*判斷鏈表是否為空*/

{

return(Length==0);

}

public boolean isEnd()

/*判斷當(dāng)前結(jié)點(diǎn)是否為最后一個(gè)結(jié)點(diǎn)*/

{

if(Length==0)

 throw new java.lang.NullPointerException();

else if(Length==1)

 return true;

else

 return(cursor()==Tail);

}

public Object nextNode()

/*返回當(dāng)前結(jié)點(diǎn)的下一個(gè)結(jié)點(diǎn)的值,并使其成為當(dāng)前結(jié)點(diǎn)*/

{

if(Length==1)

 throw new java.util.NoSuchElementException();

else if(Length==0)

 throw new java.lang.NullPointerException();

else

{

 Node temp=cursor();

 Pointer=temp;

 if(temp!=Tail)

return(temp.next.data);

 else

throw new java.util.NoSuchElementException();

}

}

public Object currentNode()

/*返回當(dāng)前結(jié)點(diǎn)的值*/

{

Node temp=cursor();

return temp.data;

}

public void insert(Object d)

/*在當(dāng)前結(jié)點(diǎn)前插入一個(gè)結(jié)點(diǎn),并使其成為當(dāng)前結(jié)點(diǎn)*/

{

Node e=new Node(d);

if(Length==0)

{

 Tail=e;

 Head=e;

}

else

{

 Node temp=cursor();

 e.next=temp;

 if(Pointer==null)

Head=e;

 else

Pointer.next=e;

}

Length++;

}

public int size()

/*返回鏈表的大小*/

{

return (Length);

}

public Object remove()

/*將當(dāng)前結(jié)點(diǎn)移出鏈表,下一個(gè)結(jié)點(diǎn)成為當(dāng)前結(jié)點(diǎn),如果移出的結(jié)點(diǎn)是最后一個(gè)結(jié)點(diǎn),則第一個(gè)結(jié)點(diǎn)成為當(dāng)前結(jié)點(diǎn)*/

{

Object temp;

if(Length==0)

 throw new java.util.NoSuchElementException();

else if(Length==1)

{

 temp=Head.data;

 deleteAll();

}

else

{

 Node cur=cursor();

 temp=cur.data;

 if(cur==Head)

Head=cur.next;

 else if(cur==Tail)

 {

Pointer.next=null;

Tail=Pointer;

reset();

 }

 else

Pointer.next=cur.next;

Length--;

}

return temp;

}

private Node cursor()

/*返回當(dāng)前結(jié)點(diǎn)的指針*/

{

if(Head==null)

 throw new java.lang.NullPointerException();

else if(Pointer==null)

 return Head;

else

 return Pointer.next;

}

public static void main(String[] args)

/*鏈表的簡(jiǎn)單應(yīng)用舉例*/

{

List a=new List ();

for(int i=1;i=10;i++)

 a.insert(new Integer(i));

 System.out.println(a.currentNode());

 while(!a.isEnd())

System.out.println(a.nextNode());

a.reset();

while(!a.isEnd())

{

 a.remove();

}

a.remove();

a.reset();

if(a.isEmpty())

 System.out.println("There is no Node in List \n");

 System.in.println("You can press return to quit\n");

try

{

 System.in.read();

 //確保用戶(hù)看清程序運(yùn)行結(jié)果

}

catch(IOException e)

{}

 }

}

class Node

/*構(gòu)成鏈表的結(jié)點(diǎn)定義*/

{

 Object data;

 Node next;

 Node(Object d)

 {

data=d;

next=null;

 }

}

讀者還可以根據(jù)實(shí)際需要定義新的方法來(lái)對(duì)鏈表進(jìn)行操作。雙向鏈表可以用類(lèi)似的方法實(shí)現(xiàn)只是結(jié)點(diǎn)的類(lèi)增加了一個(gè)指向前趨結(jié)點(diǎn)的指針。

可以用這樣的代碼來(lái)實(shí)現(xiàn):

class Node

{

Object data;

Node next;

Node previous;

Node(Object d)

{

data=d;

next=null;

previous=null;

}

}

當(dāng)然,雙向鏈表基本操作的實(shí)現(xiàn)略有不同。鏈表和雙向鏈表的實(shí)現(xiàn)方法,也可以用在堆棧和隊(duì)列的實(shí)現(xiàn)中,這里就不再多寫(xiě)了,有興趣的讀者可以將List類(lèi)的代碼稍加改動(dòng)即可。

希望對(duì)你有幫助。

java script 鏈接中的js代碼如何執(zhí)行

src后面是js文件

JSP中,用%=%

script type="text/javascript" src="%=jsPath%"/script

如果只是要寫(xiě)JS中的一個(gè)函數(shù),那

script type="text/javascript"

function test(){

}

/script

本文名稱(chēng):java執(zhí)行鏈代碼 執(zhí)行java程序的編譯命令是什么
當(dāng)前地址:http://www.rwnh.cn/article8/ddjciip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、全網(wǎng)營(yíng)銷(xiāo)推廣、定制網(wǎng)站、網(wǎng)站設(shè)計(jì)公司、動(dòng)態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司
手游| 怀仁县| 平潭县| 清水县| 山东| 双桥区| 广宗县| 新安县| 郸城县| 平南县| 龙海市| 沅陵县| 仙游县| 临武县| 教育| 遂溪县| 桂阳县| 瓮安县| 遵化市| 佳木斯市| 扬州市| 大邑县| 申扎县| 太白县| 新疆| 平泉县| 兴仁县| 松滋市| 铁岭市| 石台县| 吉安市| 房山区| 建平县| 安化县| 沛县| 谷城县| 吴堡县| 故城县| 弥渡县| 思南县| 泾阳县|