运用Java数据结构的知识创建树,内容是族谱。

运用Java数据结构的知识创建树,内容是族谱。,第1张

每一个节点有一个成员变量引用下一个节点就行了。

大致实现了一下单向链表 没有加入异常也没有仔细考虑实现的代码的效率,可以参考下。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

   

public class LinkListTest {

    public static void main(String[] args) {

        LinkList<String> ll=new LinkList<String>();

        lladd("a");

        lladd("b");

        lladd("c");

        lladd("d");

        llremove(1);

        Systemoutprintln(llget(0));

        Systemoutprintln(llget(1));

        Systemoutprintln(llget(2));

        Systemoutprintln(llget(3));

        Systemoutprintln(llsize());

    }

}

class LinkList<T>{

    private Node<T> frist=null;

    private Node<T> last=null;

    private int size=0;

                                                                          

    public void add(T t){

        if(frist==null){

            Node<T> node=new Node<T>();

            nodesetT(t);

            size++;

            frist=node;

            last=node;

        }else{        

            Node<T> node=new Node<T>();       

            nodesetT(t);

            lastsetNextNode(node);

            size++;

            last=node;

        }

    }

                                                                          

    public T get(int i){      

        if(i>=0&&i<size){

            Node<T> nod=null;

            for(int n=0;n<=i;n++){

                if(n==0)

                   nod=frist;

                else

                   nod=nodgetNextNode();             

                if(i==n){

                    return nodgetT();

                }         

            }         

        }

         return null;

    } 

                                                                          

    public void remove(int i){

        if(i>=0&&i<size){

           if(size<2){

               frist=null;

               last=null;

               size=0;

           }else{

               size--;

              if(i==0){

                 frist=fristgetNextNode();        

              }else{      

                    Node<T> nod1=null;

                    Node<T> nod2=null;

                    for(int n=0;n<=i;n++){

                        if(n==0){

                           nod1=frist;

                           nod2=frist;

                        }else{

                           nod2=nod1;

                           nod1=nod1getNextNode();                      

                        } 

                        if(i==n){

                            if(nod1!=null)

                                nod2setNextNode(nod1getNextNode());

                            else{

                                nod2setNextNode(null);

                                last=nod2;

                            }

                        }             

                    } 

              }   

            }

        }

    }

                                                                          

                                                                          

                                                                          

    public int size(){

        return size;

    }

}

class Node <T>{

    public T getT() {

        return t;

    }

    public void setT(T t) {

        thist = t;

    }

    public Node<T> getNextNode() {

        return nextNode;

    }

    public void setNextNode(Node<T> nextNode) {

        thisnextNode = nextNode;

    }

    private T t;

    private Node<T> nextNode=null;

}

你针对这个表写个实体类,写出它的dao,然后取出所有数据放到List,把list放到requestsetAttribute("all");在请求到的页面中用getAttribute取出,然后用js写DOM模型表示出来,js中的引用可以直接使用java的数据,例如:<%

List l = (List)requestgetAttribute("all");

for(int i==0;i<lsize();i++){

实体类 a = ( 实体类)lget(i);

%>

var url = <%=aget属性()%>

<%

}

%>

DOM模型可以使js更好的控制我们想要实现的效果

Attention !!!

再过几天,

就到了恩爱秀满天的日子了!

七夕!中国情人节!

很多单身汪都在绞尽脑汁

买什么礼物给TA?

鲜花?包包?

还是请TA一起去看场**?

用什么方式告诉对方

内心最想对TA说的话

不能跟这个哥们一样

原本想对TA说

结果嘴巴一哆嗦

说成了

每当想起你这张丑脸,我就泛起了微笑……

结果可想而知?

一开始我以为这样的悲剧

只会发生在程序员身上

因为外界都认为

程序员不浪漫、木内

但我错了

程序员的表白方式更加的特别

NO1

把以下代码保存为html后缀文件在浏览器中打开,

Happy

结果就是这样的

喜欢吗?

NO2

某公司程序员对小编说

于是就有了

有没有暖到你的内心呢?

温馨告白

程序员,也许不善言辞

但总是默默地在行动

用行动去诠释他们对你的爱

值此七夕佳节

雅腾教育祝愿

每一个程序员

和即将成为程序员的朋友

七夕快乐!

永远幸福!

public class tree_test {

static int count=0;

public static void main(String[] args) {

treestruct T=new treestruct("-");

constructtree c=new constructtree(T);

prio(T);

Systemoutprintln();

Systemoutprintln("count:"+count);

count=0;

mid(T);

Systemoutprintln();

Systemoutprintln("count:"+count);

count=0;

last(T);

Systemoutprintln();

Systemoutprintln("count:"+count);

count=0;

}

static void prio(treestruct T){

if(T!=null){

visit(Tdata);

prio(Tleft);

prio(Tright);

}

count++;

}

static boolean mid(treestruct T){

if(T!=null){

if (!mid(Tleft)) {

visit((Tdata));

if(!mid(Tright)){

}

}

}

count++;

return false;

}

static boolean last(treestruct T){

if(T!=null){

if(!last(Tleft)){

if(!last(Tright))

visit(Tdata);

}

}

count++;

return false;

}

static void visit(Object n){

if(n!=null)

Systemoutprint(n);

else

Systemoutprint("null");

}

}

public class Love {

public static void main(String[] args) {

while(true){//我爱你到永远

Systemoutprintln("I love you");

}

}

}

首先:树与线性表、栈、队列等线性结构不同,树是一种非线性结构。一棵树只有一个根节点,如果一棵树有了多个根节点,那它已经不再是一棵树了,而是多棵树的集合,也被称为森林。

其次:java中树的应用主要有:菜单树,还有权限树,商品分类列表也是树结构。

根据你提出的要求,是使用Web的方式展示出来,还是使用JavaSwing的方式展现,没有搞明白。

1 如果使用Web的方式展示的话,具体的展现形式可以使用JS的一些框架提供的功能。

2 如果使用JavaSwing的方式的话,我建议自定义一个展示姓名、性别、年龄等信息的Panel。(如果要显示备份需要确定一个备份的计算点)

3 在具体的算法方面,可以通过数据库的设计,使用递归的方式来实现这个辈分层级的体现(比如像员工表中设立的上级标识,你在家庭成员表中也可以设计这个字段)。之后通过递归查询,可以直接查询到目标人在树状菜单中的位置。

  java实验心得体会一

 面临毕业与就业的压力,不久将来就要从一个学生到一个社会人的转变:技术在不断的提高,思路在不断的开阔,思想在不断的升华,更重要的是自己的理想和抱负更加的坚定。对于一个投身于IT的新人,经验谈不上,一些学习的心得倒是可以拿出来探讨一下,我们该如何面临这个似曾相识的社会,突然一天如此接近。面对“全球经济不景气”带来的就业压力,我们正在逐渐走向成熟,我们意志更加坚强,我们深知不经一番寒彻骨,哪来梅花扑鼻香。深深地体会到找一份好工作多么不容易的,尤其是能力匮乏的我们。一切都要付出行动,不能空想,要实现目标,就得不懈的努力。

 的确,软件仍然是一个朝阳行业,对于人才的需求量也很大,这也是为什么很多人努力走上这座独木桥的原因。但是当你面临人生的一个选择时,当你决定要踏上软件开发之路时,你应该问一下自己:我为什么要选择它?其实很多人在这条道路上摸爬滚打了多年也没弄清楚这个问题的答案。如果你想在这条道路上有所成就的话,一是兴趣使然,二是做好自己的职业规划。

 软件开发其实是一条非常艰苦的路,不停的学习,不断的熬夜,没有鲜花更没有掌声,陪伴你的是那漫长而孤独的夜。想一想我们准备好迎接这一切了吗?如果没有兴趣我劝你还是放弃这条路,没有兴趣你就在这条路上走不长,等待你的只有转行。如果你真的把它作为你职业生涯的跳板,那么请你做好自己的人生规划,有步骤的实现它。

 话题稍微远了一点,现在我就谈谈自己在Java学习方面的心得和教训。古人云:活到老,学到老。读书学习实乃艰苦之事,花费时间,消耗精力。然苦之外亦见其乐:得到了知识,提高了认识,完善了自己。学习,求其真,务其实,应“敏而好学,不耻下问”,才能不断促使进步。学习,不仅求知,也要懂法,学会方法比掌握知识更加重要。笛卡尔说过,“没有正确的方法,即使有眼睛的博学者也会像瞎子一样盲目摸索”,可见学习方法的重要性。

 其实,大学之前几乎没有软件技术之类的概念,大三之前仍然对于程序懵懂不开。但是这并不能妨碍我热爱这个行业,也不能就断定我在这个行业里一事无成。刚学Java,我的确感觉不开窍,特别对OO(面向对象)编程仍然不能理解。但是人如果一思考,其实什么问题都解决了。对于学习java基础的经验就是多做、多思考,基础知识的学习不能不求甚解,要追本溯源,弄清问题的本质。这样才能举一反三,由点及面。对于抽象的东西要能具体化,对于具体的东西要能抽象化。

 我学习java基础一直使用的是《编程思想》第四版这本书,感觉挺不错的,全面透彻通俗易懂,在国外也是广受好评,我很惋惜没有早点知道这本书,否则也不回浪费大学三年青春岁月,一无是处的打发光阴,值得庆幸的事这本书一定程度上激发了我对java学习的兴趣与潜力。英语能力强的话,可以直接看英文原版。我一直强调重视基础,如果你的java基础打的牢,你在学习那些java框架就是非常轻松的事了。

 java实验心得体会二

 Java学习的确要学习的东西很多,就像这为朋友上面提到的那些。Java不像net一家独大,记得在大学里教我们net老师早就提醒过我们学java才是出路,学好java才是王道,我当时就纳闷,这不是搬石头砸自己的脚,往自己身上泼冷水吗?现在恍然大悟,他当时只是为我们指引一条明路,Java的繁盛在于开源社区的庞大,这也带来了分支太多的问题,怎样选择一条好的学习路线,对于初学者来说,的确是一件很迷茫的事。其实不管java东西再多,总有规律可循。根据自己的发展方向的不同,可以选择不同的学习路线。对于怎样成为一名出色的JavaWeb程序员,我的建议是:1、JSP的知识不能欠缺,理解什么是servlet,什么是javabean,熟悉jsp常使用的标签。我自己感觉,对于JSP的学习不需要太认真,毕竟现在真正使用纯JSP的情况已经不多了,能掌握基本的知识就绰绰有余。2、学习一个或一个以上的web表现框架。如果从使用的程度上来讲,Struts依然是最流行的框架,社会需求也很大,所以学习Struts是一个不错的选择,最近一个月我们刚刚模拟总算也用到了框架,因为框架本身也是一种封装,程序开发是将简单事情复杂化,模拟Struts使我们学习三大框架和其他框架奠定良好的基础,使用框架的前提是你对他处理的业务逻辑也相当熟练了。4、至于xml,css这样的页面表现的东西,如果你不从事美工方面,我认为没有必要花过多的时间去学习,在平时的项目开发中慢慢的就会使用了。

 还是那句话,基础很重要,永远不要忽视这一点。刚刚毕业,公司不会要求员工什么都会,只要技术扎实,学习的能力强,学习的速度就很快,企业有时候非常看重这一点。其次掌握struts、hibernate这两个框架,达到可以熟练使用的目的,这会增加你就业的砝码。至于spring,EJB可以在以后的工作中学习使用,现在了解一下就可以了。当然作为一个javaweb程序员,还要了解数据库、tomcat,jboss服务器、常用的开发工具Eclipse,NetsBean等。

 java实验心得体会三

 1学java切忌浮躁,欲速则不达,初学者请不要被新技术迷惑,先把基础学扎实,一步一个脚印的逐步学习,不要想着一步登天。我们要如水底磐石切不可做那水上浮萍,浮躁的人永远学不到什么东西。软件开发之路是充满荆棘与挑战之路,也是充满希望,有捷径可走。梦想像《天龙八部》中虚竹一样被无崖子醍醐灌顶而轻松获得一甲子功力,是很不现实的。每天仰天大叫"天神啊,请赐给我一本葵花宝典吧",殊不知即使你获得了葵花宝典,除了受自宫其身之苦外,你也不一定成得了"东方不败",倒是成"西方失败"的几率高一点。"不走弯路,就是捷径",佛经说的不无道理。

 2要有自我约束力春来不是读书天,夏日炎炎正好眠,秋来蚊虫冬又冷,背起书包待明年。总有一些理由不学习。这样下去,我们的java之树永远长不大。古人云:“人静而后安,安而能后定,定而能后慧,慧而能后悟,悟而能后得。”很有道理。在四川大足佛教石刻艺术中,有一组大型佛雕《牧牛图》,描绘了一个牧童和牛由斗争、对抗到逐渐融合、协调,最后合而为一的故事。佛祖说:“人的心魔难伏,就像牛一样,私心杂念太多太多;修行者就要像牧童,他们,驯服他们,以完美自己的人生。”我们学java也一样,要能够驯服那些影响我们学习的大牛、小牛,抵制各种,集中精力,专心学习。

 3操作实践前多看视频,我个人的经验和理解,边看视频边实践是学习编程语言的捷径。首先在电脑上安装编程软件,然后根据视频里例子进行验证理解,最后要懂得总结并动手多做些项目,从而熟练掌握java语言。

欢迎分享,转载请注明来源:表白网

原文地址:https://h5.hunlipic.com/biaobai/4072447.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2024-04-14
下一篇2024-04-14

发表评论

登录后才能评论

评论列表(0条)

    保存