当前位置:首页 » 编程语言 » java数学库

java数学库

发布时间: 2022-08-28 19:43:07

Ⅰ 你常用的java工具库都有哪些

JavaSDK肯定是使用最广的库,所以本文的名单焦点是流行的第三方库。该列表可能并不完善,所以如果你觉得有什么应该出现在列表中的,请留下您的评论。非常感谢!

1、核心库

  • Apache Commons Lang:来自Apache的核心库,为java.lang API补充了许多常用的工具类,如字符串操作、对象的创建等。

  • Google Guava:来自谷歌的核心库,包括集合(Collection)、缓存(Caching)、支持原语(Primitives)等。(示例)

  • 2、HTML、XML Parser

  • Jsoup:一个简化了的 HTML操作的库。(示例)

  • STaX:一组可以高效处理XML的API。 (示例)

  • 3、Web框架

  • Spring:Java平台上众所周知的开源框架和依赖注入容器。(示例)

  • Struts2:来自Apache的流行Web框架。 (示例)

  • GoogleWebToolkit:Google提供的开发工具库,主要用于构建和优化复杂的Web程序用。 (示例)

  • Strips:使用最新Java技术构建的Web程序框架,推荐使用。

  • Tapestry:面向组件的框架,用于使用Java创建动态、健壮、扩展性高的Web应用程序。

  • 请猛击这里查看以上面框架之间的比较。

    4、图表、报表、图像

  • JFreeChart:用于创建如条形图、折线图、饼图等图表。

  • JFreeReport:创建于输出PDF格式的报表。

  • JGraphT:创建图像,其中只包含由线段连接的点集。

  • 5、窗口

  • Swing:SDK提供的GUI库。(示例)

  • SWT:eclipse提供的GUI库。

  • SWT与Swing的比较。

    6.、GUI框架

  • EclipseRCP。(示例)

  • 7、自然语言处理

  • OpenNLP:来自Apache的自然语言处理库。 (示例)

  • StanfordParser:斯坦福大学提供的自然语言处理库。(示例)

  • 如果你是一名NLP专家,请猛击这里查看更多工具库介绍。

    8、静态分析

  • EclipseJDT:由IBM提供的静态分析库,可以操作Java源代码。(示例)

  • WALA:可以处理jar包文件(即字节码)的工具库。(示例)

  • 9、JSON

  • Jackson: 用于处理JSON数据格式的多用途的Java库。Jackson 旨在快速、准确、轻量、对开人员友好之间找到最好的平衡点。

  • XStream:一个简单用于对象和XML互相转换的库。

  • GoogleGson:一个专门用于Java对象和Json对象相互转换的工具库。(示例)

  • JSON-lib:用于beans、maps、collections、javaarrays、XML和JSON之间相互转换操作的工具库。

  • 10、数学

  • ApacheCommonsMath:提供数学计算和数值统计需函数的工具库。

  • 11、日志

  • ApacheLog4j:风行一时的日志记录操作库。(示例)

  • Logback:当前流行的log4j项目的继任者。

  • SLF4J(TheSimpleLoggingFacadeforJava): 各种日志框架的一个简单的外观或抽象(如java.util.logging 、logback、log4j等),允许用户在部署时加入需要的日志框架。

  • 12、Office

  • ApachePOI:利用其提供的APIs,可以使用纯Java代码操作各种基于微软OLE2合成文档格式的文档。

  • Docx4j:一个用于创建、操作微软公开的XML文件的库(支持Worddocx、 Powerpointpptx和Excelxlsx)。

  • 13、日期和时间

  • Joda-Time:如有质量问题包退包换的Java日期和时间类。

  • 14、数据库

  • Hibernate、EclipseLink、JPA

  • JDO

  • jOOQ

  • SpringJDBC、SpringData

  • ApacheDbUtils

  • 15、开发工具

  • Lambok: 旨在减少代码编写的Java开发库。

Ⅱ java代码怎么输入对数le(-5)

JAVA的输入只有字符(包括数字),不可能输入对数的
它只可能计算对数,另外,JAVA的数学库只有实数,没有复数函数的。这个你要自己用算法实现
PS:你的le是什么?对数应该是log或ln啊

Ⅲ JAVA开发,数学公式如何存取,mysql数据库

  1. 做成图片,存放在硬盘上,数据库中存放对图片的引用地址(推荐)

  2. 整个内容做成字节流存入数据库(不推荐)

Ⅳ java问题:需要输入数学函数公式,画出该函数的图像。现求一个公式解析的代码,或已有类库。

我以前给j2me写的一个类,你看下:

用的时候这么用 private BDS bds=BDS.trans("-x+1");
System.out.println(bds.eval(10));
这样的

另外这里面的Hstx.pow和Hstx.ln可以用数学库里的函数替代,因为j2me里没有的

public class BDS{
public int errn=0;
public int len=0;
public int type[]=new int[100];
public double dd[]=new double[100];
public char dc[]=new char[100];
public static BDS trans(String ts){
BDS tr=new BDS();
char s[]=ts.toCharArray(),stk[]=new char[100];
int l=ts.length(),p=0,sl=0;
if(s[0]=='-')s[0]='~';
for(int i=1;i<l;i++)
if(s[i]=='-'&&(s[i-1]<'0'||s[i-1]>'9')&&s[i-1]!='x')s[i]='~';
for(int i=0;i<l;i++){
if(s[i]>='0'&&s[i]<='9'){
double td=s[i]-'0',mt=1.0;
int hp=0;
i++;
while(i<l&&((s[i]>='0'&&s[i]<='9')||s[i]=='.')){
if(s[i]=='.'){
if(hp==1){
tr.errn=1;
return tr;
}
hp=1;
}else{
if(hp==1){
mt/=10.0;
td+=(s[i]-'0')*mt;
}else td=td*10.0+(s[i]-'0');
}
i++;
}
i--;
if(hp==1&&mt==1.0){
tr.errn=1;
return tr;
}
tr.type[p]=1;
tr.dd[p]=td;
p++;
continue;
}
if(s[i]=='x'){
tr.type[p]=3;
p++;
continue;
}
if(s[i]=='a'){
if(i+3>=l||s[i+1]!='b'||s[i+2]!='s'||s[i+3]!='('){
tr.errn=1;
return tr;
}
stk[sl++]='a';
i+=2;
continue;
}
if(s[i]=='i'){
if(i+3>=l||s[i+1]!='n'||s[i+2]!='t'||s[i+3]!='('){
tr.errn=1;
return tr;
}
stk[sl++]='i';
i+=2;
continue;
}
if(s[i]=='l'){
if(i+2>=l||s[i+1]!='n'||s[i+2]!='('){
tr.errn=1;
return tr;
}
stk[sl++]='l';
i++;
continue;
}
if(s[i]=='s'){
if(i+3>=l||s[i+1]!='i'||s[i+2]!='n'||s[i+3]!='('){
if(i+4>=l||s[i+1]!='q'||s[i+2]!='r'||s[i+3]!='t'||s[i+4]!='('){
tr.errn=1;
return tr;
}
stk[sl++]='q';
i+=3;
continue;
}
stk[sl++]='s';
i+=2;
continue;
}
if(s[i]=='c'){
if(i+3>=l||s[i+1]!='o'||s[i+2]!='s'||s[i+3]!='('){
tr.errn=1;
return tr;
}
stk[sl++]='c';
i+=2;
continue;
}
if(s[i]=='t'){
if(i+3>=l||s[i+1]!='a'||s[i+2]!='n'||s[i+3]!='('){
tr.errn=1;
return tr;
}
stk[sl++]='t';
i+=2;
continue;
}
if(s[i]=='~'||s[i]=='('){
stk[sl++]=s[i];
continue;
}
if(s[i]=='+'||s[i]=='-'){
while(sl>0&&stk[sl-1]!='('){
tr.type[p]=2;
tr.dc[p]=stk[--sl];
p++;
}
stk[sl++]=s[i];
continue;
}
if(s[i]=='*'||s[i]=='/'||s[i]=='^'){
while(sl>0&&(stk[sl-1]!='('&&stk[sl-1]!='+'&&stk[sl-1]!='-')){
tr.type[p]=2;
tr.dc[p]=stk[--sl];
p++;
}
stk[sl++]=s[i];
continue;
}
if(s[i]==')'){
while(sl>0&&stk[sl-1]!='('){
tr.type[p]=2;
tr.dc[p]=stk[--sl];
p++;
}
sl--;
if(sl<0){
tr.errn=1;
return tr;
}
continue;
}
tr.errn=1;
return tr;
}
while(sl>0){
if(stk[sl-1]=='('){
tr.errn=1;
return tr;
}
tr.type[p]=2;
tr.dc[p]=stk[--sl];
p++;
}
tr.len=p;
tr.eval(1);
return tr;
}
public double eval(double x){
int sl=0;
double stk[]=new double[100];
for(int i=0;i<len;i++){
if(type[i]==1)stk[sl++]=dd[i];
else if(type[i]==3)stk[sl++]=x;
else{
if(dc[i]=='+'){
if(sl<2){
errn=1;
return 0;
}
stk[sl-2]=stk[sl-2]+stk[sl-1];
sl--;
}
if(dc[i]=='-'){
if(sl<2){
errn=1;
return 0;
}
stk[sl-2]=stk[sl-2]-stk[sl-1];
sl--;
}
if(dc[i]=='*'){
if(sl<2){
errn=1;
return 0;
}
stk[sl-2]=stk[sl-2]*stk[sl-1];
sl--;
}
if(dc[i]=='/'){
if(sl<2){
errn=1;
return 0;
}
stk[sl-2]=stk[sl-2]/stk[sl-1];
sl--;
}
if(dc[i]=='^'){
if(sl<2){
errn=1;
return 0;
}
stk[sl-2]=HstxC.pow(stk[sl-2],stk[sl-1]);
sl--;
}
if(dc[i]=='~'){
if(sl<1){
errn=1;
return 0;
}
stk[sl-1]=-stk[sl-1];
}
if(dc[i]=='a'){
if(sl<1){
errn=1;
return 0;
}
stk[sl-1]=Math.abs(stk[sl-1]);
}
if(dc[i]=='q'){
if(sl<1){
errn=1;
return 0;
}
stk[sl-1]=Math.sqrt(stk[sl-1]);
}
if(dc[i]=='i'){
if(sl<1){
errn=1;
return 0;
}
stk[sl-1]=Math.floor(stk[sl-1]);
}
if(dc[i]=='s'){
if(sl<1){
errn=1;
return 0;
}
stk[sl-1]=Math.sin(stk[sl-1]);
}
if(dc[i]=='c'){
if(sl<1){
errn=1;
return 0;
}
stk[sl-1]=Math.cos(stk[sl-1]);
}
if(dc[i]=='t'){
if(sl<1){
errn=1;
return 0;
}
stk[sl-1]=Math.tan(stk[sl-1]);
}
if(dc[i]=='l'){
if(sl<1){
errn=1;
return 0;
}
stk[sl-1]=HstxC.ln(stk[sl-1]);
}
}
}
if(sl!=1){
errn=1;
return 0;
}
return stk[0];
}
}

Ⅳ java数据库题库中有200道题,每次抽十道出来答题都不能重复怎么写呢

一下把200道都拿出来放到ArrayList,每次抽取10个200以内的随机数(最好取list.size())从list拿对应的题给出去。
另一种是用数据库,每个用户有自己的考试记录表,每做完10题提交一次记录到做过的题里再从数据库中随机取10个没做过的再记录到数据库,直到200题都做完。
两种方法思路基本一致。
区别就是在内存里搞还是在数据库里搞

Ⅵ 有什么能做高精确矩阵运算的java库

Colt简介

Colt是一个高性能的数学库,由以下几个子库构成:
Colt库:基本的动态数组、稀疏矩阵、线性代数。
Jet库:数理统计、直方图。
CoreJava库:类printf的打印函数,并行计算。

Ⅶ java语言中pow,squrt,ceil,floor,round是什么意思

pow(x,y) :以x为底数,以y为指数的幂
sqrt(x):x的平方根
ceil(x):返回大于或者等于参数x的最小整数
x为double类型,返回double类型
round(x):计算于参数x值最接近的整数
x可以为float类型,这时返回int类型
x也可以为double类型,这时返回long类型

Ⅷ java中的包有那些

以下是常用包:
1、java.lang包:java的核心类库,包含了运行java程序必不可少的系统类,如基本数据类型、基本数学函数、字符串处理、线程、异常处理类等,系统缺省加载这个包
2、java.io包:java语言的标准输入/输出类库,如基本输入/输出流、文件输入/输出、过滤输入/输出流等等
3、java.util包:包含如处理时间的date类,处理变成数组的Vector类,以及stack和HashTable类

4、java.util.zip包:实现文件压缩功能
5、java.lang.reflect包:提供用于反射对象的工具
6、java.awt.image包:处理和操纵来自于网上的图片的java工具类库
7、java.wat.peer包:很少在程序中直接用到,使得同一个java程序在不同的软硬件平台上运行
8、java.applet包
9、java.net包:实现网络功能的类库有Socket类、ServerSocket类
10、java.corba包和java.corba.orb包
11、java.awt.datatransfer包:处理数据传输的工具类,包括剪贴板,字符串发送器等

12、java.awt包:构建图形用户界面(GUI)的类库,低级绘图操作Graphics类,图形界面组件和布局管理如 Checkbox类、Container类、LayoutManger接口等,以及界面用户交互控制和事件响应,如Event类
13、java.awt.event包:GUI事件处理包。
14、java.sql包:实现JDBC的类库

Ⅸ java中有反正弦,反余弦,反正切,反余切的方法吗

有这个工具包的,在java.math.Math类常中。

  • Math.PI 记录的圆周率

  • Math.sin 正弦函数

  • Math.asin 反正弦函数

  • Math.cos 余弦函数

  • Math.acos 反余弦函数

  • Math.tan 正切函数

  • Math.atan 反正切函数

  • Math.atan2 商的反正切函数

  • Math.toDegrees 弧度转化为角度

  • Math.toRadians 角度转化为弧度

热点内容
db2新建数据库 发布:2024-09-08 08:10:19 浏览:170
频率计源码 发布:2024-09-08 07:40:26 浏览:778
奥迪a6哪个配置带后排加热 发布:2024-09-08 07:06:32 浏览:100
linux修改apache端口 发布:2024-09-08 07:05:49 浏览:208
有多少个不同的密码子 发布:2024-09-08 07:00:46 浏览:566
linux搭建mysql服务器配置 发布:2024-09-08 06:50:02 浏览:995
加上www不能访问 发布:2024-09-08 06:39:52 浏览:811
银行支付密码器怎么用 发布:2024-09-08 06:39:52 浏览:513
苹果手机清理浏览器缓存怎么清理缓存 发布:2024-09-08 06:31:32 浏览:554
云服务器的优点与缺点 发布:2024-09-08 06:30:34 浏览:734