java高手来,链表问题!!
class Node{
在同江等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都做网站、网站建设 网站设计制作按需网站策划,公司网站建设,企业网站建设,成都品牌网站建设,网络营销推广,成都外贸网站建设公司,同江网站建设费用合理。
private String name; //数据
private Node nextNode; //下一个节点的引用
public Node(){ //默认构造函数
this.name = "表头";
System.out.println("ddd");
}
public Node(String name){ //初始化数据
this.setName(name);
}
//以下的是getter和setter,就不解释了吧……
public void setName(String name){
this.name = name;
}
public void setNextNode(Node nextNode){
this.nextNode = nextNode;
}
public String getName(){
return name;
}
public Node getNextNode(){
return nextNode;
}
}
class LinkNode{
private static Node node;
private static Node firstNode = new Node(); //第一个节点
private static LinkNode linkNode = new LinkNode(firstNode);
private LinkNode(Node node){
this.setNode(node);
}
public static LinkNode getLinkNode(){
return linkNode;
}
public void setNode(Node node){
this.node = node;
}
public Node getNode(){
return node;
}
public Node getFirstNode(){
return firstNode;
}
public void addNode(String name){ //增加节点操作
Node node = new Node(name); //新建节点
this.getNode().setNextNode(node); //接到当节点后
this.setNode(node);
}
public boolean delNode(String name){ //删除内容为输入的节点,成功返回真
Node temp;
Node node = this.getFirstNode();
while(node.getNextNode()!= null){
temp = node;
if(node.getName().equals(name)){ //当节点的内容与输入相等,则该节点的前一节点的下一节点指到下一个(就是跳过此节点)
node = node.getNextNode();
temp.setNextNode(temp.getNextNode().getNextNode());
break;
}
return true;
}
return false;
}
public String selectNode(String name){ //查找节点操作
Node node = this.getFirstNode();
while(node.getNextNode()!= null){
if(!node.getName().equals(name)){ ////当节点的内容与输入相等,查找成功
node = node.getNextNode();
continue;
}
return "查找内容在此表中!";
}
return "没有要查找的内容!!";
}
public String displayLinkNode(){ //显示链表操作,链表用一个字符串表示,格式为:第一个数据-第二个数据……-最后一个数据
String temp = "链表:";
Node node = this.getFirstNode();
while(node.getNextNode() != null){
temp += node.getName();
temp += "--";
node = node.getNextNode();
}
return temp + "表尾";
}
public static void main(String args[]){ //主函数
LinkNode ln = LinkNode.getLinkNode();
ln.addNode("girl"); //增加节点
ln.addNode("boy");
ln.addNode("ggg");
ln.addNode("hhhh");
ln.delNode("girl"); //删除节点
System.out.println(ln.displayLinkNode()); //显示链表
System.out.println(ln.selectNode("boy")); //查找数据为boy
}
}
其实和C的差不多,先写这么多吧,不懂再问
c语言编程:一只老母鸡一天下一个蛋,蛋一天变小鸡,小鸡一天后变母鸡,一百天后有多少鸡和蛋
计算机模拟这个过程,就是一个递推公式。
int n = 100; // days
int hen = 1 ; //开始1只鸡
int egg = 0; // 0个蛋
int chick = 0 ; // 0只小鸡
for(int i=1;in;i++){
int tmp = chick;
chick = egg; // 小鸡由前一次的蛋孵化
egg = hen; //前一次的鸡下蛋
hen += tmp;//以前的鸡 和 小鸡成长的鸡 相加
}
printf("%d,%d,%d",hen,egg,chick);
JAVA语言的历史
Java从1995诞生至今,只有10年左右了,和C,C++这些老大哥比起来年轻了很多,哲学上说任何事物的产生都是必然的,Java也不例外了,Inter的迅猛发展导致了Java的迅猛发展,那句成语是怎么说来着,水涨船高,Java自然成为网络世界最受欢迎的语言了,当然Java的发展另一方面也是长期在微软压迫下的软件世界的反抗了,McNealy,Sun的CEO、总裁兼董事长。
他曾经狂傲的说:“摧毁微软是我们每个人的任务。
”这位英勇的硅谷英雄,似乎带头起义,试图组织一个反微软阵线联盟,以对抗微软这股庞大的托拉斯恶势力。
他时常口出惊人之语,在公开场合大肆的批评微软,并曾经说微软的.NET是.NOT;
1.Java的产生
Java来自于Sun公司的一个叫Green的项目, 其原先的目的是为家用消费电 子产品开发一个分布式代码系统, 这样我们可以把E-mail发给电冰箱、 电视机等家用电器, 对它们进行控制, 和它们进行信息交流。
开始, 准备采用C++,但C++太 复杂, 安全性差, 最后基于C++开发一种新的语言Oak(Java的前身), Oak是一种用于网络的 精巧而安全的语言, Sun公司曾依此投标一个交互式电视项目, 但结果是被SGI打败。
可怜的Oak几乎无家可归, 恰巧这时Mark Ardreesen开发的Mosaic和Netscape启发了Oak项 目组成员, 他们用Java编制了HotJava浏览器, 得到了Sun公司首席执行官Scott McNealy的 支持, 触发了Java进军Inter。
Java的取名也有一些趣闻, 有一天, 几位Java成员组的 会员正在讨论给这个新的语言取什么名字, 当时他们正在咖啡馆喝着Java(爪哇)咖啡,有一 个人灵机一动说就叫Java怎样, 得到了其他人的赞赏, 于是, Java这个名字就这样传开了 。
2.Java的历史:1995年5月23日,Java语言诞生
1996年1月,第一个JDK-JDK1.0诞生
1996年4月,10个最主要的操作系统供应商申明将在其产品中嵌入JAVA技术
1996年9月,约8.3万个网页应用了JAVA技术来制作
1997年2月18日,JDK1.1发布
1997年4月2日,JavaOne会议召开,参与者逾一万人,创当时全球同类会议规模之纪录
1997年9月,JavaDeveloperConnection社区成员超过十万
1998年2月,JDK1.1被下载超过2,000,000次
1998年12月8日,JAVA2企业平台J2EE发布
1999年6月,SUN公司发布Java的三个版本:标准版、企业版和微型版(J2SE、J2EE、J2ME)
2000年5月8日,JDK1.3发布
2000年5月29日,JDK1.4发布
2001年6月5日,NOKIA宣布,到2003年将出售1亿部支持Java的手机
2001年9月24日,J2EE1.3发布
2002年2月26日,J2SE1.4发布,自此Java的计算能力有了大幅提升
2004年9月30日18:00PM,J2SE1.5发布,是Java语言的发展史上的又一里程碑事件。
为了表示这个版本的重要性,J2SE1.5更名为J2SE5.0 题外话:1.微软与Sun的纠纷Java诞生的1995年,正是微软在软件产业地位达到巅峰的时代,Windows 95发布时的风光场面给人们留下的深刻印象至今难忘。
尽管如此,作为最卓越的技术领袖,比尔?盖茨仍然敏锐地注意到Java。
当他了解了Java的一些细节之后,给予了这样的评价:“Java是很长时间以来最优秀的程序设计语言。
”基于此,微软于1996年3月申请并获得了Java许可证。
微软对于Java的这一热情态度在当时大大提高了人们对Java的兴趣和信心,但也有不少人担心微软会依靠自己强大的影响力在标准之外另立标准,从而破坏Java的纯洁性。
果然,从1997年发布Visual J++的第一个版本开始,微软就开始在Java中掺入自己的私有扩展。
这毫无疑问引起Sun的高度重视。
1997年10月,Sun向美国加州地方法院起诉微软公司违反两公司就微软使用Java技术所签定的合同,指控微软公司在自己的Java产品中做了“不恰当的修改”,违反了合同中承诺向用户提供Java兼容产品的条款。
这一官司旷日持久,直到2001年1月双方达成和解,微软将继续提供采用Sun开发的Java技术的现有产品(包括测试版)。
不过,Sun有限制地仅对包括Java 1.1.4的微软产品提供许可。
到了2001年7月,微软公布新版的Windows XP将不再支持Sun的JVM,并且推出了.NET平台与Java分庭抗礼。
现在回过头去看,当时的这一场官司对Java世界产生了深远的影响。
如果没有这一场官司,也许很多Java程序员都在使用Visual J++,基于WFC开发Windows客户端程序,同时不得不面对被两个不同的事实标准所分裂的Java世界,/*个人评论,请勿引用个人看来微软果然老奸巨猾,产品不怎么样,但是打击对手的本领却是一般的公司难以做到的,VJ++这一招厉害,让原来的很多Java程序员改行用C#了, *** 厉害,这一点上真的很佩服,比尔也不是图有虚名的,一个字:牛!!微软当然知道自己理亏嘛,结果肯定赔点钱了事,不过目的已经达到,赔点钱无所谓,反正有的是钱嘛,*/2003年4月2 日,Sun与微软达成16亿美元的法律和解。
如果不是晚了一天,许多人会以为这是一个在4月1日愚人节开的玩笑。
尽管当时所有人都像是看到“太阳从西边出来了”那样张大了嘴巴,但这的确是事实。
根据两家公司达成的版权协议,双方会为采用对方的技术而支付专利费用,微软向Sun提前支付3.5亿美元使用费,Sun则承诺,如果Sun集成微软的某些技术,也会向微软付款。
毫无疑问,“私下了结”的方式对双方而言都是最好的结果。
就在协议签署的当天,在美国旧金山由Sun和微软为“抛弃十年恩怨、携手合作“举行的新闻发布会上,尽管比尔.盖茨没有到场,但这并没有防碍现场看起来异常轻松的气氛。
麦克尼利和鲍尔默各自穿了一件密歇根州底特律“Red Wings”曲棍球队的运动服,并谈及了一起在哈佛大学读书的经历,麦克尼利还说:“当时我们两人是非常要好的朋友,当然我们也有吵架的时候。
”人与人当然可能成为终生的知己,但是公司与公司之间有的只能是利益上的分分合合。
2.James Gosling
Java之父(不怎么喜欢这样的称呼,老土,不过人比较猥琐吧,呵呵,大师都比较猥琐吧); 作为Java之父,James Gosling的名字可谓是耳熟能详。
当人们评论一种编程语言时,总喜欢捎带着把下蛋的母鸡一起带上。
Java做为中国的编程语言学习者餐桌上有限的那么几样餐点中的流行款式,自然是让James Gosling风光不已。
虽然James Gosling现在已经不是领导Java发展潮流的领军人物了,做为Sun的开发者产品组的CTO,怎么算来也是身居高位了,俗事缠身吧,但是这并不妨碍其对于Java一如既往的爱护,表达着各式各样鲜明的观点,引发一场又一场的争论。
James Gosling是很爱Java的——是啊,哪有当父母的不爱自己的孩子的呢。
James Gosling也是很爱Sun的——是啊,哪有当领导的不爱自己的公司的呢。
于是我们在批评.NET的安全性的队伍前头,在褒扬Java性能的队伍前头,在抨击SWT开倒车的队伍前头,在给NetBeans大唱赞歌的队伍前头,我们都看到了James Gosling的身影。
无论对错、偏见或者固执,至少说明了Gosling的鲜明个性丝毫没有受到年龄的影响。
也许也只有这种天才而偏执的人物才能创造出Java这般伟大的语言来吧 本文来自CSDN博客,出处: ://blog.csdn/cpp_java_man/archive/2006/05/02/705319.aspx
文章题目:java母鸡下蛋代码 java编程母鸡
文章出自:http://lswzjz.com/article/hhjgoh.html