仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 4588|回复: 19
打印 上一主题 下一主题

[学习教程] JAVA网站制作之一个复杂的表达式求值类,java

[复制链接]
冷月葬花魂 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:44:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
从一个编程语言的普及程度来将,一个好的IDE是至关中要的,而现在的java的IDE虽然已经很好了,但是和.net比起来还是稍微差一些的,这是个客观事实。java要想普及的更好。DE是必须加以改进的。importjava.util.Date;
publicclasstestcalc2
{
Stringa;
intlen_of_str;
interr;//err用于发明哪一个字符是堕落字符就是第一个堕落字符串的下标,初始值为-1,暗示无错
intindex;

publictestcalc2(Stringstr)
{
a=str+"+";
len_of_str=a.length();
err=-1;
index=0;
System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%%%"+a+len_of_str);

}

publicdoublegetnextnum()
{
intpreindex=index,countofdot=0;
if(a.charAt(index)==-)
index++;
if(!Character.isDigit(a.charAt(index)))
{
err=index;
return0;
}
while((index<len_of_str)&&
(Character.isDigit(a.charAt(index))||a.charAt(index)==.))
{
if(a.charAt(index)==.)
{
countofdot++;
}
index++;
if(countofdot==2)
{
err=index;

return0;
}
}
returnDouble.valueOf(a.substring(preindex,index)).doubleValue();
}
publicchargetnextop()
{
charch=a.charAt(index);
if((ch!=+)&&(ch!=-)&&(ch!=*)&&(ch!=/))
{
err=index;
ch=;
returnch;
}
index++;
returnch;

}
publicdoublecalcuvalue()
{
longstart=System.currentTimeMillis();
Dated=newDate();
longnow=d.getTime(),dif;
charch;
booleanminusflag=false,multiflag=false,dividflag=false;
doubletotal=0,next=0,num=0;//nextusedtobe*or/
while(index<len_of_str)
{
num=getnextnum();
if(err!=-1)
{
System.out.println("err!?!trytogetnextnumbut"+
"thecharatindex"+err+"iswrong");
return0;
}
System.out.println("indexafter"+index);

ch=getnextop();
if(err!=-1)
{
System.out.println("err!?!trytogetnextopbut"+
"thecharatindex"+err+"iswrong");
return0;
}
System.out.println("indexafter"+index);

switch(ch)
{
case+:

if(multiflag)
{
next=next*num;
}
elseif(dividflag)
{
next=next/num;
}
else
{
next=num;
}
if(minusflag)
{
next=-next;
}
total=total+next;
minusflag=false;
multiflag=false;
dividflag=false;
break;
case-:
if(multiflag)
{
next=next*num;
}
elseif(dividflag)
{
next=next/num;
}
else
{
next=num;
}
if(minusflag)
{
next=-next;
}
total=total+next;
minusflag=true;
multiflag=false;
dividflag=false;
break;
case*:
if(multiflag)
{
next=next*num;
}
elseif(dividflag)
{
next=next/num;
}
else
{
next=num;
}
multiflag=true;
dividflag=false;
break;

case/:
if(multiflag)
{
next=next*num;
}
elseif(dividflag)
{
next=next/num;
}
else
{
next=num;
}
dividflag=true;
multiflag=false;
break;
default://impossible,alreadyhaserr
}
System.out.println("ch"+ch+"num"+num+"total"+total+
"next"+next+"-"+minusflag+"*"+
multiflag+"/"+dividflag);
}//while

returntotal;

}



你说是sun公司对她研究的透还是微软?针对自己工具开发的.net性能上肯定会站上风的。
小妖女 该用户已被删除
沙发
发表于 2015-1-21 13:51:50 | 只看该作者
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
不帅 该用户已被删除
板凳
发表于 2015-1-26 10:19:13 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
愤怒的大鸟 该用户已被删除
地板
发表于 2015-2-2 22:34:31 | 只看该作者
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
莫相离 该用户已被删除
5#
发表于 2015-2-5 20:02:31 | 只看该作者
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
只想知道 该用户已被删除
6#
发表于 2015-2-12 23:16:12 | 只看该作者
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
再现理想 该用户已被删除
7#
发表于 2015-3-3 17:32:03 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
深爱那片海 该用户已被删除
8#
发表于 2015-3-16 13:24:37 | 只看该作者
Java是一种计算机编程语言,拥有跨平台、面向对java
飘灵儿 该用户已被删除
9#
发表于 2015-3-22 23:09:11 | 只看该作者
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
海妖 该用户已被删除
10#
发表于 2015-3-28 12:33:34 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
因胸联盟 该用户已被删除
11#
发表于 2015-4-1 23:10:41 | 只看该作者
是一种突破用户端机器环境和CPU
小魔女 该用户已被删除
12#
发表于 2015-4-10 05:59:54 | 只看该作者
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
第二个灵魂 该用户已被删除
13#
发表于 2015-4-15 02:11:33 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
若天明 该用户已被删除
14#
发表于 2015-4-23 21:58:27 | 只看该作者
是一种突破用户端机器环境和CPU
蒙在股里 该用户已被删除
15#
发表于 2015-4-23 22:49:31 | 只看该作者
是一种突破用户端机器环境和CPU
若相依 该用户已被删除
16#
发表于 2015-5-1 07:58:38 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
柔情似水 该用户已被删除
17#
发表于 2015-5-9 22:08:31 | 只看该作者
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
分手快乐 该用户已被删除
18#
发表于 2015-6-30 08:33:31 | 只看该作者
如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
变相怪杰 该用户已被删除
19#
发表于 2015-7-15 04:04:16 | 只看该作者
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
cool 该用户已被删除
20#
发表于 2015-12-22 17:48:29 | 只看该作者
git(a.charAt(index)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-28 17:21

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表