java需求分析,java需求量

本文目錄一覽:

java項目需求分析怎麼寫

目前, 國內外信息化建設已經進入基於Web應用為核心的階段, Java作為應用於網絡的最好語言,前景無限看好。然而,就算用Java建造一個不是很煩瑣的web應用,也不是件輕鬆的事情。概括一下,實施Java的WEB項目需要掌握的技術如下: 

lJava語言

l面向對象分析設計思想

l設計模式和框架結構

lXML語言

l網頁腳本語言

l數據庫

l應用服務器

l集成開發環境

下面我們具體地看每個技術.

1、Java語言

Java語言體系比較龐大,包括多個模塊。從WEB項目應用角度講有JSP、Servlet、JDBC、JavaBean(Application)四部分技術。

(1)、Java Database Connectivity (JDBC)技術

在Java Web應用開發中,數據庫管理系統(RDBMS)的使用是不可缺少的。JDBC(Java Database Connectivity) 是一種用於執行 SQL 語句的 Java API。它由一組用 Java 編程語言編寫的類和接口組成。JDBC 為工具/數據庫開發人員提供了一個標準的API,使他們能夠用純Java API 來編寫數據庫應用程序。

簡單地說,JDBC 可做三件事:

l與數據庫建立連接,

l發送 SQL 語句,

l處理結果。

(2)、Servlet技術

Servlet是運行在服務器端的程序,可以被認為是服務器端的applet。servlet被Web服務器(例如Tomcat)加載和執行,就如同applet被瀏覽器加載和執行一樣。servlet從客戶端(通過Web服務器)接收請求,執行某種操作,然後返回結果。

Servlet的主要優點包括

lServlet是持久的。servlet只需Web服務器加載一次,而且可以在不同請求之間保持服務(例如一次數據庫連接)。

lServlet是與平台無關的。如前所述,servlet是用Java編寫的,它自然也繼承了Java的平台無關性。

lServlet是可擴展的。由於servlet是用Java編寫的,它就具備了Java所能帶來的所有優點。Java是健壯的、面向對象的編程語言,它很容易擴展以適應你的需求。servlet自然也具備了這些特徵。

lServlet是安全的。從外界調用一個servlet的惟一方法就是通過Web服務器。這提供了高水平的安全性保障,尤其是在你的Web服務器有防火牆保護的時候。

lServlet可以在多種多樣的客戶機上使用。由於servlet是用Java編寫的,所以你可以很方便地在HTML中使用它們。

(3)、JavaServer Pages(JSP) 技術

JSP是從Servlet上分離出來的一小部分,簡化了開發,加強了界面設計。JSP定位在交互網頁的開發。運用Java語法,但功能較Servlet弱了很多,並且高級開發中只充當用戶界面部分。JSP容器收到客戶端發出的請求時,首先執行其中的程序片段,然後將執行結果以HTML格式響應給客戶端。其中程序片段可以是:操作數據庫、重新定向網頁以及發送 E-Mail 等等,這些都是建立動態網站所需要的功能。所有程序操作都在服務器端執行,網絡上傳送給客戶端的僅是得到的結果,與客戶端的瀏覽器無關,因此,JSP 稱為Server-Side Language。

JavaServer Pages的主要優點包括

●一次編寫,各處執行(Write o­nce, Run Anywhere)特性

作為Java 平台的一部分,JavaServer Pages 技術擁有Java語言「一次編寫,各處執行」的特點。隨着越來越多的供貨商將JavaServer Pages 技術添加到他們的產品中,您可以針對自己公司的需求,做出審慎評估後,選擇符合公司成本及規模的服務器,假若未來的需求有所變更時,更換服務器平台並不影響之前所投下的成本、人力所開發的應用程序。

● 搭配可重複使用的組件

JavaServer Pages技術可依賴於重複使用跨平台的組件(如:JavaBean或Enterprise JavaBean組件)來執行更複雜的運算、數據處理。開發人員能夠共享開發完成的組件,或者能夠加強這些組件的功能,讓更多用戶或是客戶團體使用。基於善加利用組件的方法,可以加快整體開發過程,也大大降低公司的開發成本和人力。

● 採用標籤化頁面開發

Web 網頁開發人員不一定都是熟悉Java 語言的程序員。因此,JSP 技術能夠將許多功能封裝起來,成為一個自定義的標籤,這些功能是完全根據XML 的標準來制訂的,即JSP 技術中的標籤庫(Tag Library)。因此,Web 頁面開發人員可以運用自定義好的標籤來達成工作需求,而無須再寫複雜的Java 語法,讓Web 頁面開發人員亦能快速開發出一動態內容網頁。

今後,第三方開發人員和其他人員可以為常用功能建立自己的標籤庫,讓Web 網頁開發人員能夠使用熟悉的開發工具,如同HTML 一樣的標籤語法來執行特定功能的工作。

● N-tier 企業應用架構的支持

有鑒於網際網絡的發展,為因應未來服務越來越繁雜的要求,且不再受地域的限制,因此,

必須放棄以往Client-Server的Two-tier 架構,進而轉向更具威力、彈性的分散性對象系統。由於JavaServer Page 技術是Java 2 Platform Enterprise Edition (J2EE)集成中的一部分,它主要是負責前端顯示經過複雜運算後之結果內容,而分散性的對象系統則是主要依賴EJB ( Enterprise JavaBean )和JNDI ( Java Naming and Directory Interface )構建而成。

(4)、JavaBean(Application)應用組件技術

Application是Java應用程序,在WEB項目和一些開發中主要應用JavaBean。它就是Application的一部分,邏輯運算能力很強,能極大的發揮Java語言的優點。JavaBean 被稱為是Java 組件技術的核心。JavaBean 的結構必須滿足一定的命名約定。JavaBean能提供常用功能並且可以重複使用,這使得開發人員可以把某些關鍵功能和核心算法提取出來封裝成為一個組件對象,這樣就增加了代碼的重用率和系統的安全性。

高級的WEB項目會應用到以上所有技術,它們之間聯合使用和協作開發會提高開發的效率和系統的性能。 

2、面向對象分析設計思想

Java語言是完全面向對象的語言,所以在項目設計時會有很大的幫助,在設計時應盡量捨棄以往的面向過程的設計方式。 

在分析項目業務關係的時候,應用一些UML(Unified Modeling Language)圖,例如常用的用例圖(use case diagram),類圖(class diagram),時序圖(sequence diagram)等等,會有很大的幫助,這樣能儘快找出業務邏輯主要面對的對象,然後對每個對象進行行為劃分,最後再實現對象之間的集成和通信。

3、設計模式和框架結構

Java從語言角度來講不是很難,但是從整體設計角度來講我們還需要了解一些高級應用框架。如果要設計一個良好的框架結構,單單只掌握Java語言遠遠不夠。這就涉及到一個設計模式,還有和設計模式相關的一些知識。 

設計模式在Java項目實施過程更是重中之重。主要在與兩層的設計模式、三層的設計模式和N層的設計模式。它直接決定着項目的應用、部署和實際開發設計。 

在普通的WEB項目中很多採用兩層的開發結構。JSP+Servlet或JSP+JavaBean。當對開發要求高的項目中使用很多的還是MVC的三層開發結構,也就是JSP+Servlet+JavaBean。它能分有效的分離邏輯開發,使開發人員能專註於各自的開發。同時也能時整個開發結構流程更清晰,但是需要比較高的開發配合度。 

在項目中,我們經常使用著名的Model-View-Controller(MVC)架構。MVC架構是隨着smalltalk language語言的發展提出的,它是一個著名的用戶界面設計架構。經典的MVC架構把一個組件(可認為是整個應用程序的一個模塊)劃分成三部分組 Model管理這個模塊中所用到的數據和業務邏輯。而View 管理模塊如何顯示給用戶,Controller 決定如何處理用戶和該模塊交互式時候產生的事件 如用戶點擊一個按鈕等。 

4、XML語言

在服務器和設計模式結構中會應用到自定義文件,而且在應用高級設計時也會定義自用的標籤,現在流行的是用XML去定義配置,所以XML語言應該有一定掌握。

當前,Java 2平台企業版(J2EE)架構在廠商市場和開發者社區中倍受推崇。作為一種工具,可擴展標記語言(XML)簡化了數據交換、進程間消息交換這一類的事情,因而對開發者逐漸變得有吸引力,並開始流行起來。自然,在J2EE架構中訪問或集成XML解決方案的想法也很誘人。因為這將是強大系統架構同高度靈活的數據管理方案的結合。

XML的應用似乎是無窮無盡的,但它們大致上可以分為三大類:

1、簡單數據的表示和交換(針對XML的簡單API(SAX)和文檔對象模型(DOM)語法解析,不同的文檔類型定義(DTDs)和概要(schemas))

2、用戶界面相關、表示相關的上下文(可擴展樣式表語言(XSL),可擴展樣式表語言轉換(XSLT))

3、面向消息的計算(XML-RPC(遠程過程調用),基於SOAP協議的Web 服務(Web Services),電子化業務XML(ebXML))

5、網頁腳本語言

為了提高WEB項目的整體性能,提高人機交互的友好界面,網頁的腳本語言是很有用處的,有的時候可以解決很大的難題或提高程序的性能和應用性。 

網頁腳本語言的執行都是在客戶端執行的,速度很很快,並且大多的操作與服務器沒有交互運算,所以在一些應用中非常理想。在設計WEB項目的應用中,網頁的腳本語言起着不能忽視的作用,所以如果設計WEB項目的應用中,對JavaScript應有一定的了解。

JavaScript是一種基於對象(Object Based)和事件驅動(Event Driven)並具有安全性能(Secure)的腳本語言。使用它的目的是與HTML超文本標記語言、Java 腳本語言(Java小程序)一起實現在一個Web頁面中鏈接多個對象,與Web客戶交互作用。從而可以開發客戶端的應用程序等。它是通過嵌入或調入在標準的HTML語言中實現的。它具有以下幾個基本特點:

1.它是一種腳本編寫語言

JavaScript是一種腳本語言,它採用小程序段的方式實現編程。像其它腳本語言一樣,JavaScript同樣已是一種解釋性語言,它提供了一個易的開發過程。 

它的基本結構形式與C、C++、VB十分類似。但它不像這些語言一樣,需要先編譯,而是在程序運行過程中被逐行地解釋。它與HTML標識結合在一起,從而方便用戶的使用操作。

2. 基於對象的語言。

JavaScript是一種基於對象的語言,同時以可以看作一種面向對象的。這意味着它能運用自己已經創建的對象。因此,許多功能可以來自於腳本環境中對象的方法與腳本的相互作用。

3.簡單性

JavaScript的簡單性主要體現在:首先它是一種基於Java基本語句和控制流之上的簡單而緊湊的設計, 從而對於學習Java是一種非常好的過渡。其次它的變量類型是採用弱類型,並未使用嚴格的數據類型。

4.安全性

JavaScript是一種安全性語言,它不允許訪問本地的硬盤,並不能將數據存入到服務器上,不允許對網絡文檔進行修改和刪除,只能通過瀏覽器實現信息瀏覽或動態交互。從而有效地防止數據的丟失。

5. 動態性

JavaScript是動態的,它可以直接對用戶或客戶輸入做出響應,無須經過Web服務程序。它對用戶的響應,是採用以事件驅動的方式進行的。所謂事件驅動,就是指在主頁(Home Page)中執行了某種操作所產生的動作,就稱為「事件」(Event)。比如按下鼠標、移動窗口、選擇菜單等都可以視為事件。當事件發生後,可能會引起相應的事件響應。 

6、開發工具

(1)、數據庫

在主要的應用中,數據庫相關的環節應用很多,所以對數據庫應該有一定了解。不能單單只了解一種數據庫,因為在很多實際開發中會提出很多數據庫解決方案,所以只有在了解多種數據庫的情況下才能有一個比較方案。

對於數據庫應該了解他的性能和一些基本的操作常識,還有該數據庫的特點。而針對與Java語言WEB項目的數據庫開發則主要是對JDBC的應用,還有數據庫事務處理和連接池等高級概念的應用。

(2)、Web服務器

同數據庫一樣,應該了解該服務器的性能,特點和一些常識。

在應用方面,Web服務器主要是針對於配置和部署,對目錄的配置,調試;對配置文件屬性的修改;對訪問權限和並發性的控制;Java類的部署等。

(3)、集成開發環境(IDE):

「公欲善其事, 必先利其器」. 對於Web應用開發人員來講,好的集成開發環境(IDE:Integrated Development Enviroment)是非常重要的。目前在市場上佔主導位置的一個集成開發工具就是Eclipse.

java課程分享Java需求分析師是做什麼的?

對於Java的崗位,想必大家對開發工程師、測試工程師比較熟習,現在蹦出個需求分析師,那麼他是做什麼的呢?很多朋友都是你看着我,我看着你,然後大家彼此搖頭。你知道Java需求分析師是做什麼的嗎?今天就跟java課程一起來好好的認識下吧,讓你的未來多一個就業選擇。

Java需求分析師是做什麼的?Java需求分析師是項目前期與客戶方打交道最多的人,對於客戶來說,他可以代表整個項目組,對與項目組成員來說他的意見可以代表客戶方的意見,項目組內所有與客戶需求相關的事情必需得到他的認可,Java需求分析師在整個項目中佔據着很重要的地位。

Java需求分析師的主要職責有什麼呢?他要負責很多的事項,比如

1、負責軟件產品的調研,客戶需求分析,與客戶溝通,確定需求邊界;

2、進行《產品需求說明書》及《需求規格說明書》的編寫;

3、負責系統功能及界面的原型設計,熟練使用原型設計工具;

4、參與公司移動端類產品規劃,產品可行性分析;

5、負責競爭對手產品分析。

通過Java需求分析師的相關職責,我們也可以看出Java需求分析師,在項目中佔據着比較重要的位置。作為一個Java程序員,如果你想要自己未來的發展空間更加的遼闊,那麼成為一名Java需求分析師,也是一個相當不錯的選擇,月薪過萬是沒有問題的。

北大青鳥java培訓:如何進行用戶需求分類?

關於需求分析的文章相信大家都看過不少了,而且對於如何獲取用戶需求的方式方法也很多,最常用的就是報告了。

今天,江蘇IT培訓主要就來簡單講解一下,當我們獲得這些用戶需求之後,如何根據不同的商業目的進行需求分類整理呢?我們在進行需求分類的時候,一般有兩種方式同時進行。

一、橫向分類首先來說,為什麼我們拿到需求後,要把需求進行分類?因為產品在不同時期,對於不同類別的需求,會有不同的權重。

我們常說,產品有起步期、發展期、穩定期。

而需求根據每個公司或者產品經理的定義,可能將需求分類為:功能類、bug修復類、體驗類、運營類、數據類等。

(1)產品的起步期在產品的起步期,我們會將核心功能的需求放在權重高一些的位置,把產品的地基打好,骨架搭好,快速上線來驗產品模式。

別連房子還沒蓋好,就在糾結地磚的顏色。

此時的產品經理一定要控制好自己完美偏執狂的內心衝動,對於增加新功能和體驗上的需求要做好排序,此時開發核心功能,快速投入市場試錯才是我們的目標。

(2)產品的發展期到了發展期會讓產品儘快做完善,或根據市場反饋對產品方向進行一定的調整,此時bug修復類、運營類的需求就放在首位了。

產品投入市場後,可以收集各渠道的用戶反饋,有沒有切實解決目標用戶的問題?產品的方向是不是正確的?在產品發展期,完善產品的過程中,對於需求更是要有把控力,做需求分析最後輸出的結果就是做需求決策,學習喬幫主做簡約主義者,決定不做什麼比決定做什麼更加重要,往往雞肋需求,開發出來上線容易,但是要去掉,就沒那麼容易了。

(3)產品的穩定期再到了產品的穩定期,產品趨於成熟,用戶數也多起來了,產品不斷迭代,此時提升用戶體驗和數據類的需求就變得很重要了。

比如A/Btest,在用戶量小的時候,得到的數據會有較大的出入,是不可取的。

在產品的穩定期,有比較大的用戶量時,可以用數據來驅動產品的迭代。

java開發的項目中模塊、包、類、接口的關係是什麼?

一個模塊中有多個包;一個包中可以有多個類;一個類(接口類)中可以有多個抽象方法;一個類(實現類,繼承自接口類)中可以有多個方法。推薦選擇千鋒教育,千鋒教育採用全程面授高品質、高體驗培養模式,非常值得選擇。

java項目開發具體流程:

第一、需求分析: 列出功能點、界面要求,實現原型 實用軟件 :axure,確定施工周期,工期安排軟件:excel或者Steelray Project Viewer。

第二、概要設計:根據原型寫出大致設計,理清實現邏輯。

第三、 詳細設計:做不做都行,沒事做做也可以:詳細列出所有功能的偽代碼實現。

第四、代碼實現:做網站建議用MyEclipse+mysql ,框架 SSH。

第五、測試:功能、頁面效果是否實現。

第六、使用說明:寫使用說明。

想要了解更多java開發的相關信息,推薦諮詢千鋒教育。千鋒Java現已擁有成熟獨立的項目庫,項目均1:1引進大廠項目,授課採用 CREA 項目研發模型,即 Cooperation、Research、Exercise、Alliance,以項目促進高質量教學。多場景,多學科聯動為學員的技能實戰提供高度還原的真實演練場,充分賦能學員簡歷價值,打造企業直聘班,得到廣大學員一致認可。

請問Java實現計算器的需求分析怎麼寫

package example;

import java.awt.*;

import java.awt.event.*;

public class Calculator extends Frame {

/**

* 本實例實現功能如下 1.普通加減乘除運算 2.小數點的情況已經解決 3.開始按0已經解決 4.消去鍵可以起作用

*

*/

private static final long serialVersionUID = 1L;

private String name[] = { “0”, “1”, “2”, “3”, “4”, “5”, “6”, “7”, “8”, “9”,

“.”, “=”, “+”, “-“, “*”, “/”, “Backspace”, “”, “”, “C” };

private Button button[] = new Button[name.length];

private TextField textfield = new TextField(“0.”);

// 設置2個字符A1,A2用於存放點擊運算符號之前的String數據

private String A1 = null, A2 = null;

// 設置2個字符B1,B2用於存放點擊運算符號之後的String數據

private String B1 = null, B2 = null;

// 存放運算符號前後的數據,douuble類型進行運算

private double A, B;

// s存放為哪種運算符號,Result存放最後的運行結果

private String Result=”0″, s;

// 判斷這個數字是否為小數,小數的時為true不是時為false

private boolean Decimal=false;

// 構造器,顯示在標題欄

public Calculator() {

super(“TEST:Caculator”);

}

// 計算器的基本布局,在一個BorderLayout上面放置了一個GridLayout一個BorderLayout

public void init() {

setLayout(new BorderLayout(2, 2));

// 設置2個Panel

Panel p0 = new Panel();

Panel p1 = new Panel();

// p0上添加所有按扭

p0.setLayout(new GridLayout(5, 4, 1, 1));

// 不同的按扭採用不同的監聽事件0-9和”.”採用ButtonListener()

for (int i = 0; i 11; i++) {

button = new Button(name);

// 設置字體顏色為藍色

button.setForeground(Color.blue);

p0.add(button);

button.addActionListener(new ButtonListener());

}

// 其餘的運算符號採取ButtonListener2()另一監聽事件

for (int i = 11; i name.length; i++) {

button = new Button(name);

// 設置字體顏色為紅色

button.setForeground(Color.RED);

p0.add(button);

button.addActionListener(new ButtonListener2());

}

// 設置中間2個按扭不可見,增加美觀,對稱

button[17].setVisible(false);

button[18].setVisible(false);

// p1上添加文本輸出區域

p1.setLayout(new BorderLayout(5, 5));

p1.add(textfield);

// 不可以向文本框里隨便寫東西

textfield.setEditable(false);

// 設置文本框背景為白色

textfield.setBackground(Color.WHITE);

add(p0, BorderLayout.SOUTH);

add(p1, BorderLayout.NORTH);

pack();

// 設置打開窗口在顯示器的中間顯示

setLocationRelativeTo(null);

// 關閉按扭,適配器模式

addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

System.exit(0);

}

});

// 調整可見

setVisible(true);

}

public class ButtonListener implements ActionListener {

public void actionPerformed(ActionEvent e) {

System.out.print(e.getActionCommand() + ” “);

// 當A2和B2同時為null時候表示程序第一次運行或者開始一次新的運行,即按”=”之後,將按鍵獲取的值賦給A2–setp1

if (A2 == null B2 == null) {

// 所按的數字按扭不是”0″的時候對A2進行賦值,否則給A2值不變,但是讓textfield恢復初始值”0.”

if (!”0″.equals(e.getActionCommand())) {

// 考慮第一次按小數點的情況,按小數點後將boolean類型的Decimal定義為true

if (“.”.equals(e.getActionCommand())) {

A2 = “0.”;

Decimal = true;

textfield.setText(A2);

} else {

A2 = e.getActionCommand();

textfield.setText(A2);

}

} else {

if (“0”.equals(e.getActionCommand())) {

} else {

A2 = e.getActionCommand();

textfield.setText(“0”);

}

}

// 當A2不等於null,B2和A為null,表示還沒有按運算符號,仍然對A2進行賦值

} else if (A2 != null A1 == null B2 == null) {

// 已經是小數的在點小數點不做任何動作,不是小數的在按”.”的時候追加賦值並且設置Decimal為true

if (“.”.equals(e.getActionCommand())) {

if (Decimal) {

} else {

Decimal = true;

A2 += e.getActionCommand();

textfield.setText(A2);

}

} else {

A2 += e.getActionCommand();

textfield.setText(A2);

}

// 當A,A2不等於null,B2為null,表示剛按過運算符號,開始對B2進行賦值

// 仍要考慮”0″的情況,但要考慮0做為被減數,乘數和加數,此處B2可以等於0

// B2也可以是小數將Decimal設置回false

} else if (A2 != null A1 != null B2 == null) {

Decimal = false;

if (!”0″.equals(e.getActionCommand())) {

// 不為”0″但為”.”的情況,原理同上

if (“.”.equals(e.getActionCommand())) {

Decimal = true;

if (Decimal) {

B2 = “0.”;

} else {

Decimal = true;

B2 = e.getActionCommand();

textfield.setText(B2);

}

} else {

B2 = e.getActionCommand();

textfield.setText(B2);

}

} else {

B2 = “0”;

textfield.setText(B2);

}

// 當A,A2,B2都不為null的時候表示B2已經被賦值,繼續按數字按扭對B2繼續賦值

// 當B2等於0的時候不進行追加直接賦值,僅當B2不等於0的時候才進行追加

} else if (A2 != null A1 != null B2 != null) {

if (“0”.equals(B2)) {

// 考慮用戶連續2次按”0″的情況

if (“0”.equals(e.getActionCommand())) {

B2 = “0”;

textfield.setText(B2);

} else {

B2 = e.getActionCommand();

textfield.setText(B2);

}

} else {

// 不為”0″但為”.”的情況,原理同上

if (“.”.equals(e.getActionCommand())) {

if (Decimal) {

} else {

Decimal = true;

B2 += e.getActionCommand();

textfield.setText(B2);

}

} else {

B2 += e.getActionCommand();

textfield.setText(B2);

}

}

}

}

}

public class ButtonListener2 implements ActionListener {

public void actionPerformed(ActionEvent e) {

System.out.print(e.getActionCommand() + ” “);

// 一旦按了運算符號”+-*/”A2賦值給A,使得A和A2都不為null,但此時B2還為null在按數字鍵的時候便會給B2賦值

// 給s–運算符號賦值

if (“+”.equals(e.getActionCommand())) {

if (A2 == null) {

A2 = “0”;

}

A1 = A2;

s = “+”;

} else if (“-“.equals(e.getActionCommand())) {

if (A2 == null) {

A2 = “0”;

}

A1 = A2;

s = “-“;

} else if (“*”.equals(e.getActionCommand())) {

if (A2 == null) {

A2 = “0”;

}

A1 = A2;

s = “*”;

} else if (“/”.equals(e.getActionCommand())) {

if (A2 == null) {

A2 = “0”;

}

A1 = A2;

s = “/”;

// 等號的時候把B2賦值給B,進行最後的運算

} else if (“=”.equals(e.getActionCommand())) {

if (A2 == null) {

A2 = “0”;

}

if (B2 == null) {

B2 = “0”;

}

A1 = A2;

B1 = B2;

// 將String類型轉換為double進行運算

A = Double.parseDouble(A1);

B = Double.parseDouble(B1);

if (“+”.equals(s)) {

Result = String.valueOf(A + B);

System.out.println();

System.out.println(A + “+” + B + “=” + Result);

} else if (“-“.equals(s)) {

Result = String.valueOf(A – B);

System.out.println();

System.out.println(A + “-” + B + “=” + Result);

} else if (“*”.equals(s)) {

Result = String.valueOf(A * B);

System.out.println();

System.out.println(A + “*” + B + “=” + Result);

}

textfield.setText(Result);

A1 = null;

A2 = null;

B1 = null;

B2 = null;

Decimal=false;

} else if (“Backspace”.equals(e.getActionCommand())) {

String text = “0”;

if (A2 == null A1 == null) {

} else if (A2 != null A1 == null B2 == null) {

int t = A2.length();

text = A2;

if (t == 1) {

text = “0”;

} else {

text = text.substring(0, t – 1);

}

A2 = text;

} else if (A2 != null A1 != null B2 == null) {

} else {

int t = B2.length();

text = B2;

if (t == 1) {

text = “0”;

} else {

text = text.substring(0, t – 1);

}

B2 = text;

}

textfield.setText(text);

System.out.println();

System.out.println(“text=” + text + ” “);

System.out.println(A1 + “:” + A2 + “:” + B1 + “:” + B2);

// 選擇”C”的時候將計算器重置,即恢復到開始的狀態

} else if (“C”.equals(e.getActionCommand())) {

textfield.setText(“0.”);

A1 = null;

A2 = null;

B1 = null;

B2 = null;

Decimal=false;

}

}

}

public static void main(String[] args) {

Calculator calculator = new Calculator();

calculator.init();

}

} 下面還有

原創文章,作者:WUFFO,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/316188.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
WUFFO的頭像WUFFO
上一篇 2025-01-09 12:14
下一篇 2025-01-09 12:14

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發佈。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • Java 8 Group By 會影響排序嗎?

    是的,Java 8中的Group By會對排序產生影響。本文將從多個方面探討Group By對排序的影響。 一、Group By的概述 Group By是SQL中的一種常見操作,它…

    編程 2025-04-29

發表回復

登錄後才能評論