當前位置:首頁 » 編程語言 » 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 角度轉化為弧度

熱點內容
脈脈上傳通訊錄 發布:2024-06-13 19:27:19 瀏覽:278
聯想雲存儲指示燈 發布:2024-06-13 19:14:55 瀏覽:294
感知機學習演算法 發布:2024-06-13 19:14:16 瀏覽:517
ftp服務ubuntu 發布:2024-06-13 18:57:08 瀏覽:230
安卓游戲手機哪個好能日用的 發布:2024-06-13 18:44:26 瀏覽:235
android進程與服務 發布:2024-06-13 18:27:05 瀏覽:383
bat文件復制文件夾 發布:2024-06-13 18:23:10 瀏覽:995
mysql57解壓版 發布:2024-06-13 18:18:48 瀏覽:854
聲樂腳本 發布:2024-06-13 18:18:13 瀏覽:971
dijkstra最短路演算法 發布:2024-06-13 18:17:53 瀏覽:936