真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

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

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

//----------------先寫了個,功能是實現(xiàn)了,有待改進-----------

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

import java.util.ArrayList;

import java.util.List;

/**

* 現(xiàn)有ListSourceBean類型的List對象,

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

* 請用責任鏈模式實現(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("過濾前List中的內(nèi)容");

printList(list);

// 裝配 鏈條

Filter oddFilter = new OddFilter();

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

//這里對奇數(shù)過濾兩次,

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

Filter oddFilter2 = new OddFilter();

Filter compareFilter = new CompareFilter();

oddFilter.setFilter(null);

compareFilter.setFilter(oddFilter);

oddFilter2.setFilter(compareFilter);

// 進行過濾

oddFilter2.doFilter(list);

System.out.println("\n過濾后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;

}

}

/**

* 僅僅過濾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);//移除該對象

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

super.doFilter(list);

}

}

}

}

/**

* 僅過濾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);//移除該對象

}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é)果----------------------------

過濾前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]

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

[a=4, b=100]

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

// ---greatwqs----

import java.io.*;

public class List {

// 用變量來實現(xiàn)表頭

private Node Head = null;

private Node Tail = null;

private Node Pointer = null;

private int Length = 0;

/** 清空整個鏈表 */

public void deleteAll() {

Head = null;

Tail = null;

Pointer = null;

Length = 0;

}

/** 鏈表復位,使第一個結(jié)點 成為當前結(jié)點 */

public void reset() {

Pointer = null;

}

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

public boolean isEmpty() {

return (Length == 0);

}

/** 判斷當前結(jié)點是否 為最后一個結(jié)點 */

public boolean isEnd() {

if (Length == 0)

throw new java.lang.NullPointerException();

else if (Length == 1)

return true;

else

return (cursor() == Tail);

}

/** 返回當前結(jié)點的下一個結(jié)點的值, 并使其成為當前結(jié)點 */

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

}

}

/** 返回當前結(jié)點的值 */

public Object currentNode() {

Node temp = cursor();

return temp.data;

}

/** 在當前結(jié)點前插入一個結(jié)點, 并使其成為當前結(jié)點 */

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

}

/**

* 將當前結(jié)點移出鏈表,下一個結(jié)點成為當前結(jié)點, 如果移出的結(jié)點是最后一個結(jié)點,則第一個結(jié)點成為當前結(jié)點

*/

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;

}

/** 返回當前結(jié)點的指針 */

private Node cursor() {

if (Head == null)

throw new java.lang.NullPointerException();

else if (Pointer == null)

return Head;

else

return Pointer.next;

}

/** 鏈表的簡單應用舉例 */

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 {

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

System.in.read();

} catch (IOException e) {

}

}

}

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

class Node {

Object data;

Node next;

Node(Object d) {

data = d;

next = null;

}

}

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

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

class Node

{

Object data;

Node next;//指向下一個結(jié)點

}

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

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

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

鏈表類List的源代碼如下:

import java.io.*;

public class List

{

/*用變量來實現(xiàn)表頭*/

private Node Head=null;

private Node Tail=null;

private Node Pointer=null;

private int Length=0;

public void deleteAll()

/*清空整個鏈表*/

{

Head=null;

Tail=null;

Pointer=null;

Length=0;

}

public void reset()

/*鏈表復位,使第一個結(jié)點成為當前結(jié)點*/

{

Pointer=null;

}

public boolean isEmpty()

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

{

return(Length==0);

}

public boolean isEnd()

/*判斷當前結(jié)點是否為最后一個結(jié)點*/

{

if(Length==0)

 throw new java.lang.NullPointerException();

else if(Length==1)

 return true;

else

 return(cursor()==Tail);

}

public Object nextNode()

/*返回當前結(jié)點的下一個結(jié)點的值,并使其成為當前結(jié)點*/

{

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

/*返回當前結(jié)點的值*/

{

Node temp=cursor();

return temp.data;

}

public void insert(Object d)

/*在當前結(jié)點前插入一個結(jié)點,并使其成為當前結(jié)點*/

{

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

/*將當前結(jié)點移出鏈表,下一個結(jié)點成為當前結(jié)點,如果移出的結(jié)點是最后一個結(jié)點,則第一個結(jié)點成為當前結(jié)點*/

{

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

/*返回當前結(jié)點的指針*/

{

if(Head==null)

 throw new java.lang.NullPointerException();

else if(Pointer==null)

 return Head;

else

 return Pointer.next;

}

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.in.println("You can press return to quit\n");

try

{

 System.in.read();

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

}

catch(IOException e)

{}

 }

}

class Node

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

{

 Object data;

 Node next;

 Node(Object d)

 {

data=d;

next=null;

 }

}

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

可以用這樣的代碼來實現(xiàn):

class Node

{

Object data;

Node next;

Node previous;

Node(Object d)

{

data=d;

next=null;

previous=null;

}

}

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

希望對你有幫助。

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

src后面是js文件

JSP中,用%=%

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

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

script type="text/javascript"

function test(){

}

/script


本文題目:java執(zhí)行鏈代碼 執(zhí)行java程序的編譯命令是什么
標題網(wǎng)址:http://weahome.cn/article/ddjciip.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部