通常{}中間的代碼是一個代碼塊,可以用作方法體、循環體、判斷執行語句塊等等,必須是成對出現的。類class的范圍也用大括弧包裹。
2. JAVA編程是用什麼軟體的
JAVA編程常用的軟體:
1、Eclipse:
Eclipse 是一個開放源代碼的、基於 Java 的可擴展開發平台。就其本身而言,它只是一個框架和一組服務,用於通過插件組件構建開發環境。幸運的是,Eclipse 附帶了一個標準的插件集,包括 Java 開發工具(Java Development Tools,JDT)。
2、MyEclipse:
MyEclipse是Eclipse的升級版,也是一款功能強大的J2EE集成開發環境,由Genuitec公司發布,提供免費版和收費版。被譽為最好用的Java IDE之一。
MyEclipse 是對Eclipse IDE的擴展,利用它可以在資料庫和JavaEE的開發、發布以及應用程序伺服器的整合方面極大的提高工作效率。
3、IntelliJ IDEA:
IntelliJ IDEA是一款綜合的Java 編程環境,被許多開發人員和行業專家譽為市場上最好用的IDE之一,與MyEclipse齊名。
它提供了一系列最實用的的工具組合:智能編碼輔助和自動控制,支持J2EE,Ant,JUnit和CVS集成,非平行的編碼檢查和創新的GUI設計器。
4、NetBeans:
NetBeans IDE是一個屢獲殊榮的集成開發環境,可以方便的在Windows、Mac、Linux和Solaris中運行。NetBeans包括開源的開發環境和應用平台,NetBeans IDE可以使開發人員利用Java平台能夠快速創建Web、企業、桌面以及移動的應用程序。
5、BlueJ:
BlueJ是一款支持Java編程語言的集成開發環境(IDE)。它原本是為了教育目的而開發的,同時也適合於那些想做小型軟體開發的開發人員。它的運行需要JDK(Java開發工具包)的幫助。BlueJ主要是為面向對象的程序設計教學而開發的,因此它的設計不同於其他的開發環境。
參考資料來源:網路-BlueJ
參考資料來源:網路-IntelliJ IDEA
參考資料來源:網路-Netbeans
參考資料來源:網路-eclipse
參考資料來源:網路-MyEclipse
3. 如何寫出優雅Java編程
如何寫出好的Java代碼
1.
優雅需要付出代價。從短期利益來看,對某個問題提出優雅的解決方法,似乎可能花你更多的時間。但當它終於能夠正確執行並可輕易套用於新案例中,不需要花上數以時計,甚至以天計或以月計的辛苦代價時,你會看得到先前所花功夫的回報(即使沒有人可以衡量這一點)。這不僅給你一個可更容易開發和調試的程序,也更易於理解和維護。這正是它在金錢上的價值所在。這一點有賴某種人生經驗才能夠了解,因為當你努力讓某一段程序代碼變得比較優雅時,你並不是處於一種具生產力的狀態下。但是,請抗拒那些催促你趕工的人們,因為那麼做只會減緩你的速度罷了。
2.
先求能動,再求快。即使你已確定某段程序代碼極為重要,而且是系統的重要瓶頸,這個准則依然成立。盡可能簡化設計,讓系統能夠先正確動作。如果程序的執行不夠快,再量測其效能。幾乎你總是會發現,你所認為的」瓶頸」其實都不是問題所在。把你的時間花在刀口上吧。3.
記住」各個擊破」的原理。如果你所探討的問題過於混雜,試著想像該問題的基本動作會是什麼,並假設這一小塊東西能夠神奇地處理掉最難的部分。這」一小塊」東西其實就是對象–請撰寫運用該對象的程序代碼,然後檢視對象,並將其中困難的部分再包裝成其他對象,依此類推。
4. 區分class開發者和class使用者(使用端程序員)。Class
使用者扮演著」客戶」角色,不需要(也不知道)class的底層運作方式。Class開發者必須是class設計專家,並撰寫class,使它能夠盡可能被大多數新手程序員所用,而且在程序中能夠穩當執行。一套程序庫只有在具備通透性的情況下,使用起來才會容易。
5.當你撰寫class時,試著給予明了易懂的名稱,減少不必要的註解。你給客戶端程序員的介面,應該保持概念上的單純性。不了這個目的,當函數的重載(overloading)適合製作出直覺、易用的介面時,請善加使用。
6. 也必你的分析和設計必須讓系統中的classes保持最少,須讓其Public
interfaces保持最少,以及讓這些classes和其他classes之間的關聯性( 尤其是base
classes)保持最少。如果你的設計所得結果更甚於此,請問問自己,是否其中每一樣東西在整個程序生命期中都饒富價值?如果並非如此,那麼,維護它們會使你付出代價。開發團隊的成員都有不維護」無益於生產力提升」的任何東西的傾向;這是許多設計方法無法解釋的現象。
7.
讓所有東西盡量自動化。先撰寫測試用的程序代碼(在你撰寫class之前),並讓它和class結合在一起。請使用makefile或類似工具,自動進行測試動作。通過這種方式,只要執行測試程序,所有的程序變動就可以自動獲得驗證,而且可以立即發現錯誤。由於你知道的測試架構所具備的安全性,所以當你發現新的需求時,你會更勇於進行全面修改。請記住,程序語言最大的改進,是來自型別檢查、異常處理等機制所賦予的內置測試動作。但這些功能只能協助你到達某種程度。開發一個穩固系統時,你得自己驗證自己的classes或程序的性質。
8. 在你撰寫class之前先寫測試碼,以便驗證你的class 是否設計完備。如果你無法撰寫測試碼,你便無法知道你的class
的可能長相。撰寫測試碼通常能夠顯現出額外的特性(features)或限制 (
constraints)__它們並不一定總是能夠在分析和設計過程中出現。測試碼也可做為展示class 用法的示常式序。
9. 所有軟體設計上的問題,都可以通過」引入額外的概念性間接層(conceptual
indirection)」加以簡化。這個軟體工程上的基礎法則是抽象化概念的根據,而抽象化概念正是面向對象程序設計的主要性質。10.
間接層(indirection)應該要有意義(和准則-9致)。這里所指的意義可以像」將共用程序代碼置於惟一函數」這么簡單。如果你加入的間接層(或抽象化、或封裝等等)不具意義,它可能就和沒有適當的間接層一樣糟糕。
11.
讓class盡可能微小而無法切割(atomic)。賦予每個class單一而清楚的用途。如果你的classes或你的系統成長得過於復雜,請將復雜的classes切割成比較簡單的幾個classes。最明顯的一個判斷指針就是class的大小:如果它很大,那麼它工作量過多的機會就可能很高,那就應該被切割。重新設計class的建議線索是:
1) 復雜的switch語句:請考慮運用多態(Polymorphism)。 2)
許多函數各自處理類型極為不同的動作:請考慮切割為多個不同的(classes)。
12. 小心冗長的引數列(argument
lists)。冗長的引數列會使函數的調用動作不易撰寫、閱讀、維護。你應該試著將函數搬移到更適當的class中,並盡量以對象為引數。
13. 不要一再重復。如果某段程序代碼不斷出現於許多derived class函數中,請將該段程序代碼置於某個base class
函數內,然後在derived
class函數中調用。這么做不僅可以省下程序代碼空間,也可以讓修改該段程序代碼動作更易於進行。有時候找出此種共通程序代碼還可以為介面增加實用功能。
14. 小心switch語句或成串的if-else 子句。通常這種情況代表所謂的」type-check
coding」。也就是說究竟會執行哪一段程序代碼,乃是依據某種型別信息來做抉擇(最初,確切型別可能不十分明顯)。你通常可以使用繼承和多態來取代此類程序代碼;Polymorphical
method (多態函數)的調用會自動執行此類型別檢驗,並提供更可靠更容易的擴充性。
15. 從設計觀點來看,請找出變動的事物,並使它和不變的事物分離。也就是說,找出系統中可能被你改變的元素,將它們封裝於classes中。
16. 不要利用subclassing來擴充基礎功能。如果某個介面元素對class而言極重要,它應該被放在base class
里頭,而不是直到衍生(derivation)時才被加入。如果你在繼承過程中加入了函數,或許你應該重新思考整個設計。
17. 少就是多。從class
的最小介面開始妨展,盡可能在解決問題的前提下讓它保持既小又單純。不要預先考量你的class被使用的所有可能方式。一旦class被實際運用,你自然會知道你得如何擴充介面。不過,一旦class被使用後,你就無法在不影響客戶程序代碼的情況下縮減其介面。如果你要加入更多函數倒是沒有問題–不會影響既有的客戶程序代碼,它們只需重新編譯即可。但即使新函數取代了舊函數的功能,也請你保留既有介面。如果你得通過」加入更多引數」的方式來擴充既有函數的介面,請你以新引數寫出一個重載化的函數;通過
這種方式就不會影響既有函數的任何客戶了。
18. 大聲念出你的classes,確認它們符合邏輯。請base class和derived class
之間的關系是」is-a」(是一種),讓class和成員對象之間的關系是」has-a」(有一個)。
19.
當你猶豫不決於繼承(inheritance)或合成(組合,composition)時,請你問問自己,是否需要向上轉型(upcast)為基礎型別。如果不需要,請優先選擇合成(也就是是使用成員對象)。這種作法可以消除」過多基礎型別」。如果你採用繼承,使用者會認為他們應該可以向上轉型。
20. 運用數據成員來表示數值的變化,運用經過覆寫的函數(overrided method)來代錶行為的變化 。也就是說,如果你找到了某個
class, 帶有一些狀態變數,而其函數會依據這些變數值切換不同的行為,那麼你或許就應該重新設計,在subclasses 和覆寫後的函數(overrided
methods)中展現行為止的差異。
21.
小心重載(overloading)。函數不應該依據引數值條件式地選擇執行某一段程序代碼。這種情況下你應該撰寫兩個或更多個重載函數(overloaded
methods)22. 使用異常體系(exception hierarchies)最好是從Java標准異常體系中衍生特定的classes,
那麼,捕捉異常的人便可以捕捉特定異常,之後才捕捉基本異常。如果你加入新的衍生異常,原有的客戶端程序仍能通過其基礎型別來捕捉它。
23.
有時候簡單的聚合(aggregation)就夠了。飛機上的」旅客舒適系統」包括數個分離的元素:座椅、空調、視訊設備等等,你會需要在飛機上產生許多這樣的東西。你會將它們聲明為Private成員並開發出一個全新的介面嗎?不會的,在這個例子中,元素也是Public介面的一部分,所以仍然是安全的。當然啦,簡單聚合並不是一個常被運用的解法,但有時候的確是。
24. 試著從客戶程序員和程序維護的角度思考。你的class應該設計得盡可能容易使用。你應該預先考量可能性有的變動,並針對這些
可能的變動進行設計,使這些變動日後可輕易完成。
25.
小心」巨大對象並發症」。這往往是剛踏OOP領域的過程式(proceral)程序員的一個苦惱,因為他們往往最終還是寫出一個過程式程序,並將它們擺放到一個或兩個巨大對象中。注意,除了application
framework (應用程序框架,譯註:一種很特殊的、大型OO程序庫,幫你架構程序本體)之外,對象代表的是程序中的觀念,而不是程序本身。
26. 如果你得用某種醜陋的方式來達成某個動作,請將醜陋的部分局限在某個class里頭。
27.
如果你得用某種不可移植方式來達成某個動作,請將它抽象化並局限於某個class里頭。這樣一個」額外間接層」能夠防止不可移植的部分擴散到整個程序。這種作法的具體呈現便是Bridge設計模式(design
pattern)。28.
對象不應僅僅只用來持有數據。對象也應該具有定義明確界限清楚的行為。有時候使用」數據對象」是適當的,但只有在通用形容器不適用時,才適合刻意以數據對象來包裝、傳輸一群數據項。
29.
欲從既有的classes身上產生新的classes時,請以組合(composition)為優先考量。你應該只在必要時才使用繼承。如果在組合適用之處你卻選擇了繼承,你的設計就滲雜了非必要的復雜性。
30.
運用繼承和函數覆寫機制來展現行為上的差異,運用fields(數據成員)來展現狀態上的差異。這句話的極端例子,就是繼承出不同的classes表現各種不同的顏色,而不使用」color」field.31.
當心變異性(variance)。語意相異的兩個對象擁有相同的動作(或說責任)是可能的。OO世界中存在著一種天生的引誘,讓人想要從某個class繼承出另一個subclass,為的是獲得繼承帶來的福利。這便是所謂」變異性」。但是,沒有任何正當理由足以讓我們強迫製造出某個其實並不存在的superclass/subclass關系。比較好的解決方式是寫出一個共用的base
class,它為兩個derived
classes製作出共用介面–這種方式會耗用更多空間,但你可以如你所盼望地從繼承機制獲得好處,而且或許能夠在設計上獲得重大發現。
32.
注意繼承上的限制。最清晰易懂的設計是將功能加到繼承得來的class里頭;繼承過程中拿掉舊功能(而非增加新功能)則是一種可疑的設計。不過,規則可以打破。如果你所處理的是舊有的class程序庫,那麼在某個class的subclass限制功能,可能會比重新制定整個結構(俾使新class得以良好地相稱於舊
class)有效率得多。
33. 使用設計模式(design patterns)來減少」赤裸裸無加掩飾的機能(naked
functionality)」。舉個例子,如果你的class只應該產出惟一一個對象,那麼請不要以加思索毫無設計的手法來完成它,然後撰寫」只該產生一份對象」這樣的註解就拍拍屁股走人。請將它包裝成singleton(譯註:一個有名的設計模式,可譯為」單件」)。如果主程序中有多而混亂的」用以產生對象」的程序代碼,請找出類似
factory method這樣的生成模式(creational patterns),使價錢可用以封裝生成動作減少」赤裸裸無加掩飾的機能」(naked
functionality)不僅可以讓你的程序更易理解和維護,也可以阻止出於好意卻帶來意外的維護者。
34. 當心」因分析而導致的癱瘓(analysis
paralysis)」。請記住,你往往必須在獲得所有信息之前讓項目繼續前進。而且理解未知部分的最好也最快的方式,通常就是實際前進一步而不只是紙上談兵。除非找到解決辦法,否則無法知道解決辦法。Java擁有內置的防火牆,請讓它們發揮作用。你在單一class或一組classes中所犯的錯誤,並不會傷害整個系統的完整性。
35.
當你認為你已經獲得一份優秀的分析、設計或實現時,請試著加以演練。將團隊以外的某些人帶進來-他不必非得是個顧問不可,他可以是公司其他團隊的成員。請那個人以新鮮的姿態審視你們的成果,這樣可以在尚可輕易修改的階段找出問題,其收獲會比因演練而付出的時間和金錢代價來得高。實現
(Implementation)
36. 一般來說,請遵守Sun的程序編寫習慣。
37.
無論使用何種編寫風格,如果你的團隊(或整個公司,那就更好了)能夠加以標准化,那麼的確會帶來顯著效果。這代表每個人都可以在其他人不遵守編寫風格修改其作品,這是個公平的游戲。標准化的價值在於,分析程序代碼時所花的腦力較小,因而可以專心於程序代碼的實質意義。
38. 遵守標準的大小寫規范。將
class名稱的第一個字母應為大寫。數據成員、函數、對象(references)的第一個字母應為小寫。所有識別名稱的每個字都應該連在一塊兒,所有非首字的第一個字母都應該大寫。例如:
ThisIsAClassName thisIsAMethodOrFieldName 如果你在static final
基本型別的定義處指定了常量初始式(constant initializers),那麼該識別名稱應該全為大寫,代表一個編譯期常量。
Packages是個特例,其名稱皆為小寫,即使非首字的字母亦是如此。域名(org, net, e 等等)皆應為小寫。(這是Java 1.1遷移至Java
2時的一項改變) 。
39、不要自己發明」裝飾用的」Private數據成員名稱。通常這種的形式是在最前端加上底線和其他字元,匈牙利命名法(Hungarian
notation)是其中最差的示範。在這種命名法中,你得加入額外字元來表示數據的型別、用途、位置等等。彷彿你用的是匯編語言(assembly
language)而編譯器沒有提供任何協肋似的。這樣的命名方式容易讓人混淆又難以閱讀,也不易推行和維護。就讓classes和packages來進行」名稱上的范圍制定(name
scoping)」吧。
40、當你擬定通用性的class時,請遵守正規形式(canonical form)。包括equals( )、hashCode( )、clone( )
( 實現出Cloneable),並實現出Comparable和Serialiable等等。
41、對於那些」取得或改變Private數據值」的函數,請使用Java Beans
的」get」、」set」、」is」等命名習慣,即使你當時不認為自己正在撰寫Java
Bean。這么做不僅可以輕易以Bean的運用方式來運用你的class,也是對此類函數的一種標准命名方式,使讀者更易於理解。
42、對於你所擬定的每一個class,請考慮為它加入static public test(
),其中含有class功能測試碼。你不需要移除該測試就可將程序納入項目。而且如果有所變動,你可以輕易重新執行測試。這段程序代碼也可以做為class的使用示例。
43、有時候你需要通過繼承,才得以訪問base class的protected成員。這可能會引發對多重基類(multiple base
types)的認識需求。如果你不需要向上轉型,你可以先衍生新的class發便執行protected訪問動作,然後在」需要用到上述
protected成員」的所有classes中,將新class聲明為成員對象,而非直接繼承。
44、避免純粹為了效率考量而使用final函數。只有在程序能動但執行不夠快時,而且效能量測工具(profiler)顯示某個函數的調用動作成為瓶頸時,才使用final函數。
45、如果兩個classes因某種功能性原因而產生了關聯(例如容器containers和迭代器iterators),那麼請試著讓其中某個class成為另一個class
的內隱類(inner class)。這不僅強調二者間的關聯,也是通過」將class名稱嵌套置於另一個class 內」而使同一個class
名稱在單一Package中可被重復使用。Java 容器庫在每個容器類中都定義了一個內隱的(inner)Iterator
class,因而能夠提供容器一份共通介面。運用內隱類的另一個原因是讓它成為private實現物的一部分。在這里,內隱類會為信息隱藏帶來好處,而不是對上述的class關聯性提供肋益,也不是為了防止命名空間污染問題(namespace
pollution)。
46、任何時候你都要注意那些高度耦合(coupling)的 classes.請考慮內隱類(inner
classes)為程序擬定和維護帶來的好處。內隱類的使用並不是要去除classes間的耦合,而是要讓耦合關系更明顯也更便利。
47、不要成為」過早最佳化」的犧牲品。那會讓人神經錯亂。尤其在系統建構初期,先別煩惱究竟要不要撰寫(或避免)原生函數(native
methods)、要不要將某些數聲明為final、要不要調校程序代碼效率等等。你的主要問題應該是先證明設計的正確性,除非設計本身需要某種程度的效率。
4. java 問題 設計一個「花商店」,在花店中可以有多種(由用戶決定數量)鮮花,試表示此種關系,編寫程序
class FlowerShop {
String[] Flower = null;
int x = 0;
int y ;
FlowerShop(int x) {
Flower = new String[x];
}
public void add(String flowers) {
Flower[y] = flowers;
y++;
}
public String Information(String Flower) {
if(Flower.equals("水仙花")) {
return "水仙屬石蒜科水仙屬多年生草本植物,原產中國,在中國已有一千多年栽培歷史," +
"為中國傳統名花之一。此屬植物全世界共有800多種,其中的10多種具有極高的觀賞價值。" +
"水仙原分布在中歐、地中海沿岸和北非地區,中國的水仙是多花水仙的一個變種,種名為" +
":Narcissus tazetta var.chinensis Roem";
//這里省略其他的花朵信息
}
return Flower;
}
}
public class Test {
public static void main(String args[]) {
FlowerShop f = new FlowerShop (3);
f.add("水仙花");
f.add("紫羅蘭");
f.add("玫瑰花");
try {
for(int i=0; i<f.Flower.length; i++) {
if(args[0].equals(f.Flower[i])) {
System.out.println("你所查詢的是 :" + f.Flower[i] +"\n" +"\n" + f.Information(f.Flower[i]));
}
}} catch( e) {
System.out.println("請輸入要查詢的花朵信息");
}
}
}
我已經在你的第二個網路號回答過了,你的技術要求我好多沒用到,但完全符合你的功能,你可以自行修改下。我新手,能力不是很高,希望幫到您
5. 有誰知道學會JAVA語言編程最快要多長時間要花多少錢
我現在也在學,要看你想要到達什麼地步了。java2一本書徹底看,並搞懂,一個月就行。不過你要學深,可能還要花時間了
6. java構造方法寫兩個花括弧有什麼用
第一對花括弧是屬於構造方法的,第二對花括弧括出了類的動態代碼塊,每次構造對象時都會執行動態代碼塊。
另外動態代碼塊是在構造方法之前執行的。
7. 怎麼學好java編程
Java是一種可以撰寫跨平台應用軟體的面向對象的程序設計語言,它具有良好的通用性、高效性、平台移植性和安全性,廣泛用於個人PC、數據中心、游戲控制台等,同時擁有較大的開發者專業社群。那麼我們如何才能學好Java?
1、認真閱讀Java相關的書籍
盡管如今在網路上有很多的視頻能夠收看,促使Java的學習培訓越來越簡易了起來,可是必須留意的是,這也只是是學習的途徑變多了,又換句話說新手入門的方法多元化了,並不意味著著這門技術性越來越非常容易了。只不過是學會了毛皮。書籍一直是知識的最高載體,許多優秀程序員精心編寫的編程書籍,不僅有很多知識,而且有很多是他們教導的思想,通過閱讀這些書籍,不僅能學會技術,還能幫助熟練者理解編程思維。比如《實戰Java程序設計》這是一本既注重實戰,同時也注重底層「內功」(內存分析、JVM底層、數據結構)訓練的書,本書能幫 助初學者打通Java編程「任督二脈」。本書集作者11年Java教學之精華,既適合初學者入門,也適合已經工作 的開發者復習。
2、學好基本語法,弄清Java的特點
學習Java說的直白些就是學習它的語法、功能、結構等,然後按照它的語法編寫代碼。語法是學習Java的基礎,剛開始學習的時候可能會很難理解,但是沒關系,這屬於正常現象,只要多看、多問、多實踐,慢慢地你就會入門。
3、學習沒有捷徑,一定要多動手實踐
學習Java就像學習數學一樣,在懂得理論知識後,一定要實踐。學習Java不能搭便車,有些時候,句子和語法看起來很簡單,但是親自實踐起來卻總有自己不知道的知識盲點。哪怕是簡單的小程序,書本上的小例子,只有多動手操作,也會提高自己的代碼能力。
4、制定詳細的學習計劃
擁有一定的專業知識基本後,接下去大家務必制訂一套行得通的學習規劃。這里我關鍵指的是詳細的學習培訓線路。盡管Java學起來非常簡單,但大家如果要學精學透,就得由淺入深的一步步把握。
5、學會總結
學編程有一個禁忌,那就是學了新的知識,就把之前的知識忘記了。這時候就要做到分階段來進行總結,做到把遇到的問題以及解決思路記錄下來,同時還要備註上自己的經驗和技巧,在之後的日子裡多去瀏覽自己曾經記下的這些東西,不斷的積累,讓自己的成長變得扎實和迅速。
8. java 寫程序
import java.util.Scanner;
public class TestRose {
public static void main(String[] args) {
Rose r = new Rose(1000);
Scanner sc = new Scanner(System.in);
while(true) {
System.out.print("請輸入送花的數量:");
try {
r.giveRose(sc.nextInt());
} catch (RoseException e) {
sc.close();
System.exit(0);
}finally {
System.out.println("我愛你!");
}
}
}
}
class Rose{
private int RoseNumber;
public int getRoseNumber() {
return RoseNumber;
}
public void setRoseNumber(int roseNumber) {
RoseNumber = roseNumber;
}
public Rose(int RoseNumber) {
this.RoseNumber = RoseNumber;
}
public void giveRose(int rose) throws RoseException{
if(rose>RoseNumber) {
throw new RoseException();
}else if(rose<=0){
System.out.println("方法接受到非法參數,請給出正數形式的玫瑰花數");
}else {
RoseNumber -= rose;
System.out.println("親愛的,送你"+rose+"朵玫瑰花!");
}
}
}
class RoseException extends Exception{
private static final long serialVersionUID = 5965711409217611710L;
public RoseException() {
System.out.println("我沒有錢買花送給你,對不起!");
}
}
9. 如何用前台Java連接後台SQL來寫鮮花店管理系統
首先在SQL資料庫中創建相應的資料庫,接下來我們創建資料庫連接類和連接方法以及關閉連接方法
public class DBConnection {
private static final String DATASOURCE ="restrant";
private static final String DRIVER_CLASS="com.microsoft.sqlserver.jdbc.SQLServerDriver";
private static final String DATABASE_URL="jdbc:sqlserver://localhost:1433;databaseName=restrant";
private static final String DATABASE_USRE="sa";
private static final String DATABASE_PASSWORO="123456";
public static Connection getConnction(){
Connection dbConnection =null;
try{
Class.forName(DRIVER_CLASS);
dbConnection =DriverManager.getConnection(DATABASE_URL,DATABASE_USRE,DATABASE_PASSWORO);
}catch(Exception e){
e.printStackTrace();
}
return dbConnection;
}
public static void closeConnection(Connection dbConnection){
try{
if(dbConnection != null && (!dbConnection.isClosed())){
dbConnection.close();
}
}catch(SQLException sqlEx){
sqlEx.printStackTrace();
}
}
public static void closeResultSet(ResultSet res){
try{
if(res != null){
res.close();
res = null;
}
}catch(SQLException e){
e.printStackTrace();
}
}
public static void closeStatement(PreparedStatement pStatement){
try{
if(pStatement != null){
pStatement.close();
pStatement=null;
}
}catch(SQLException e){
e.printStackTrace();
}
}
}
10. JAVA編程,玫瑰2元一支,百合3元一支,菊花5元一支,康乃馨6元一支,20元正好花完沒種各多少支
6×1+5×1+3×1+2×3=20
答:康乃馨1支,菊花1支,百合1支,玫瑰3支。