java實訓總結,java入門實訓總結

本文目錄一覽:

java實訓總結怎麼寫

這一期的實習,雖然實習的時間不長,但是總體上收穫挺大的,學習中我不但有了學習成果

的喜悅,而且自己也日漸成熟,有種說不出的喜悅。以下是我在這次實習中的一些感悟和體會:

1.通過過這次實習,我們不僅在編程的理論知識上有所鞏固和深化,更重要的是有了實戰進行項目開發鍛煉動手能力的機會,積累了一筆寶貴的經驗。我學會了如何團隊合作,共同開發。獨木難支,光靠一個人的力量是遠遠不夠的。只有管理組織好一個團隊,才能夠最終完成項目的開發,或許在編程技術水平上團隊成員有高有低,但是,每個人都有自己的閃光點,總可以在團隊的找到適合自己的位置,每個人在自己的團隊中做的貢獻,創造出不可磨滅的重大價值。

2.有些知識點以前沒有學過,但我也沒有去研究,實習時突然間覺得自己真的有點無知,雖然現在去看依然可以解決問題,但要浪費許多時間,這一點是我必須在以後的學習中加以改進的地方,同時也要督促自己在學習的過程中不斷的完善自我。另外,也是在實習中必不可少的部分,就是同學之間的互相幫助。

3.我學會了如何理解和分析客戶的需求。軟件為客戶而生,只有理解了客戶的需求才有寫出優秀的軟件的可能,在這次實戰演練中,老師教會了我們如何組織團隊正確的理解和分析客戶的需求,並寫出完善的需求分析,並用於項目開發。

4.我學會了對按照需求對軟件架構進行設計,這點我想是我們許多同學之前都非常欠缺的,因為我們在學校的時編寫代碼篇幅短小,功能單一,所以設計思路通常只留於腦內,非常模糊。而在這次項目開發演練中,老師手把手的教會我如何從需求中抽象出問題,並將之模塊化,然後逐步求精,就如同為高樓大廈搭建棟樑。

此次實習,我深深體會到了積累知識的重要性。在實習當中我們遇到了不少難題,但是經過我們大家的討論和老師細心的一一指導,問題得到了解決。

java實訓心得體會

一周的實訓轉瞬即逝,在這短暫的時間裏,我們在老師的指導和幫助下,對於網頁設計與製作有了進一步的了解。雖然存在各種各樣的問題,但是,這次動手實踐經歷的意義也是顯而易見的。通過這次實訓,我學到了很多有價值的東西。整個開發的過程對我來說是一次將理論應用於實踐的過程,是將以前所學知識充分利用的過程,是一次真正的實踐過程。在這次網頁設計中,學到了很多在課堂內所學不到的知識,真正拓展了自己的能力,是一次難得的歷練經歷收穫很大。

我感受最深的是:想要最好一個網站,素材和技能都十分重要。好的素材需要多放面查找資料的,可以從圖書、網站和新聞上查找的。好的技能需要不斷的實踐,經常鍛煉做網頁。如果擁有好的素材和精湛的技能就可以做出最精湛的網頁。另外,親自動手也讓自己看到了自身能力的不足,看到了理想與現實之間的差距,這一切都需要今後進一步加強學習理論知識與真正動手做一些課題來彌補。

JAVA實訓報告

1、 實訓的題目及簡介:

題目:java計算器應用程序

簡介:通過本程序可以實現計算器的基本功能。程序是Frame類的子類。使用GridLayout的布局方式對組件進行布局,用Panel類的容器存放按扭、文本框組件,程序中也用到大量的else—–if語句。

2、 設計說明:

一實驗目的

通過實訓能夠結合實例進一步理解面向對象程序設計的基本概念,掌握程序設計的基本方法和技巧,靈活的使用包,進一步的理解接口,熟練的掌握在接口中對事件的實現。深入理解和靈活運用面向對象程序設計的基本特性,培養良好的程序設計風格,提高抽象思維、邏輯思維的能力。

二實驗內容

編寫一個實現計算器應用程序

三 程序介紹及其功能的實現

程序需要導入import java.awt.*、 import java.awt.event.*、 import java.lang.*、 import javax.swing.*包。①程序的基本框架是:首先定義一個Frame類的子類,之後聲明三個面板的布局,即定義了GridLayout類的三個對象gl1、gl2、gl3。之後是定義了Panel類的容器的四個對象p0、p1、p2、p3,其中p0用來存放顯示屏文本框組件,p1採用gl1布局,用來存放刪除和歸零按鈕,p3採用gl3布局,用來存放數字按鈕和運算符按鈕,p2採用gl2布局,用來存放其它功能按鈕鍵按鈕。②具體的實現過程是:⑴、程序定義了JTextField類的對象tf1和TextField類的對象tf2及26個button類的按鈕,在Counter類的構造方法中分別對各個對象進行了初始化,對面板進行了合適的布局,各個按鈕也相應的添加到相應的容器中,在實例化所有按鈕、設置其前景色的同時並註冊監聽器。

⑵、對各個組件進行相應的設計之後,即程序運行之後的可視化界面完成之後開始實現程序內部的事件過程,即接口的實現。定義了一個名為 Bt的類來實現接口,程序在actionPerformed( )方法中對各個按鈕和文本框組件的具體方法進行實現,程序中不斷的用else—if語句對按鈕操作事件的實現,並對事件的異常進行處理。

3.程序清單

import java.awt.*;

import java.awt.event.*;

import java.lang.*;

import javax.swing.*;

public class Counter extends Frame

{

//聲明三個面板的布局

GridLayout gl1,gl2,gl3;

Panel p0,p1,p2,p3;

JTextField tf1;

TextField tf2;

Button b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b17,b18,b19,b20,b21,b22,b23,b24,b25,b26;

StringBuffer str;//顯示屏所顯示的字符串

double x,y;//x和y都是運算數

int z;//Z表示單擊了那一個運算符.0表示”+”,1表示”-“,2表示”*”,3表示”/”

static double m;//記憶的數字

public Counter()

{

gl1=new GridLayout(1,4,10,0);//實例化三個面板的布局

gl2=new GridLayout(4,1,0,15);

gl3=new GridLayout(4,5,10,15);

tf1=new JTextField(27);//顯示屏

tf1.setHorizontalAlignment(JTextField.RIGHT);

tf1.setEnabled(false);

tf1.setText(“0”);

tf2=new TextField(10);//顯示記憶的索引值

tf2.setEditable(false);

//實例化所有按鈕、設置其前景色並註冊監聽器

b0=new Button(“Backspace”);

b0.setForeground(Color.red);

b0.addActionListener(new Bt());

b1=new Button(“CE”);

b1.setForeground(Color.red);

b1.addActionListener(new Bt());

b2=new Button(“C”);

b2.setForeground(Color.red);

b2.addActionListener(new Bt());

b3=new Button(“MC”);

b3.setForeground(Color.red);

b3.addActionListener(new Bt());

b4=new Button(“MR”);

b4.setForeground(Color.red);

b4.addActionListener(new Bt());

b5=new Button(“MS”);

b5.setForeground(Color.red);

b5.addActionListener(new Bt());

b6=new Button(“M+”);

b6.setForeground(Color.red);

b6.addActionListener(new Bt());

b7=new Button(“7”);

b7.setForeground(Color.blue);

b7.addActionListener(new Bt());

b8=new Button(“8”);

b8.setForeground(Color.blue);

b8.addActionListener(new Bt());

b9=new Button(“9”);

b9.setForeground(Color.blue);

b9.addActionListener(new Bt());

b10=new Button(“/”);

b10.setForeground(Color.red);

b10.addActionListener(new Bt());

b11=new Button(“sqrt”);

b11.setForeground(Color.blue);

b11.addActionListener(new Bt());

b12=new Button(“4”);

b12.setForeground(Color.blue);

b12.addActionListener(new Bt());

b13=new Button(“5”);

b13.setForeground(Color.blue);

b13.addActionListener(new Bt());

b14=new Button(“6”);

b14.setForeground(Color.blue);

b14.addActionListener(new Bt());

b15=new Button(“*”);

b15.setForeground(Color.red);

b15.addActionListener(new Bt());

b16=new Button(“%”);

b16.setForeground(Color.blue);

b16.addActionListener(new Bt());

b17=new Button(“1”);

b17.setForeground(Color.blue);

b17.addActionListener(new Bt());

b18=new Button(“2”);

b18.setForeground(Color.blue);

b18.addActionListener(new Bt());

b19=new Button(“3”);

b19.setForeground(Color.blue);

b19.addActionListener(new Bt());

b20=new Button(“-“);

b20.setForeground(Color.red);

b20.addActionListener(new Bt());

b21=new Button(“1/X”);

b21.setForeground(Color.blue);

b21.addActionListener(new Bt());

b22=new Button(“0”);

b22.setForeground(Color.blue);

b22.addActionListener(new Bt());

b23=new Button(“+/-“);

b23.setForeground(Color.blue);

b23.addActionListener(new Bt());

b24=new Button(“.”);

b24.setForeground(Color.blue);

b24.addActionListener(new Bt());

b25=new Button(“+”);

b25.setForeground(Color.red);

b25.addActionListener(new Bt());

b26=new Button(“=”);

b26.setForeground(Color.red);

b26.addActionListener(new Bt());

//實例化四個面板

p0=new Panel();

p1=new Panel();

p2=new Panel();

p3=new Panel();

//創建一個空字符串緩衝區

str=new StringBuffer();

//添加面板p0中的組件和設置其在框架中的位置和大小

p0.add(tf1);

p0.setBounds(10,25,300,40);

//添加面板p1中的組件和設置其在框架中的位置和大小

p1.setLayout(gl1);

p1.add(tf2);

p1.add(b0);

p1.add(b1);

p1.add(b2);

p1.setBounds(10,65,300,25);

//添加面板p2中的組件並設置其的框架中的位置和大小

p2.setLayout(gl2);

p2.add(b3);

p2.add(b4);

p2.add(b5);

p2.add(b6);

p2.setBounds(10,110,40,150);

//添加面板p3中的組件並設置其在框架中的位置和大小

p3.setLayout(gl3);//設置p3的布局

p3.add(b7);

p3.add(b8);

p3.add(b9);

p3.add(b10);

p3.add(b11);

p3.add(b12);

p3.add(b13);

p3.add(b14);

p3.add(b15);

p3.add(b16);

p3.add(b17);

p3.add(b18);

p3.add(b19);

p3.add(b20);

p3.add(b21);

p3.add(b22);

p3.add(b23);

p3.add(b24);

p3.add(b25);

p3.add(b26);

p3.setBounds(60,110,250,150);

//設置框架中的布局為空布局並添加4個面板

setLayout(null);

add(p0);

add(p1);

add(p2);

add(p3);

setResizable(false);//禁止調整框架的大小

//匿名類關閉窗口

addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e1)

{

System.exit(0);

}

});

setBackground(Color.lightGray);

setBounds(100,100,320,280);

setVisible(true);

}

//構造監聽器

class Bt implements ActionListener

{

public void actionPerformed(ActionEvent e2)

{

try{

if(e2.getSource()==b1)//選擇”CE”清零

{

tf1.setText(“0”);//把顯示屏清零

str.setLength(0);//清空字符串緩衝區以準備接收新的輸入運算數

}

else if(e2.getSource()==b2)//選擇”C”清零

{

tf1.setText(“0”);//把顯示屏清零

str.setLength(0);

}

else if(e2.getSource()==b23)//單擊”+/-“選擇輸入的運算數是正數還是負數

{

x=Double.parseDouble(tf1.getText().trim());

tf1.setText(“”+(-x));

}

else if(e2.getSource()==b25)//單擊加號按鈕獲得x的值和z的值並清空y的值

{

x=Double.parseDouble(tf1.getText().trim());

str.setLength(0);//清空緩衝區以便接收新的另一個運算數

y=0d;

z=0;

}

else if(e2.getSource()==b20)//單擊減號按鈕獲得x的值和z的值並清空y的值

{

x=Double.parseDouble(tf1.getText().trim());

str.setLength(0);

y=0d;

z=1;

}

else if(e2.getSource()==b15)//單擊乘號按鈕獲得x的值和z的值並清空y的值

{

x=Double.parseDouble(tf1.getText().trim());

str.setLength(0);

y=0d;

z=2;

}

else if(e2.getSource()==b10)//單擊除號按鈕獲得x的值和z的值並空y的值

{

x=Double.parseDouble(tf1.getText().trim());

str.setLength(0);

y=0d;

z=3;

}

else if(e2.getSource()==b26)//單擊等號按鈕輸出計算結果

{

str.setLength(0);

switch(z)

{

case 0 : tf1.setText(“”+(x+y));break;

case 1 : tf1.setText(“”+(x-y));break;

case 2 : tf1.setText(“”+(x*y));break;

case 3 : tf1.setText(“”+(x/y));break;

}

}

else if(e2.getSource()==b24)//單擊”.”按鈕輸入小數

{

if(tf1.getText().trim().indexOf(‘.’)!=-1)//判斷字符串中是否已經包含了小數點

{

}

else//如果沒數點有小

{

if(tf1.getText().trim().equals(“0”))//如果初時顯示為0

{

str.setLength(0);

tf1.setText((str.append(“0″+e2.getActionCommand())).toString());

}

else if(tf1.getText().trim().equals(“”))//如果初時顯示為空則不做任何操作

{

}

else

{

tf1.setText(str.append(e2.getActionCommand()).toString());

}

}

y=0d;

}

else if(e2.getSource()==b11)//求平方根

{

x=Double.parseDouble(tf1.getText().trim());

tf1.setText(“數字格式異常”);

if(x0)

tf1.setText(“負數沒有平方根”);

else

tf1.setText(“”+Math.sqrt(x));

str.setLength(0);

y=0d;

}

else if(e2.getSource()==b16)//單擊了”%”按鈕

{

x=Double.parseDouble(tf1.getText().trim());

tf1.setText(“”+(0.01*x));

str.setLength(0);

y=0d;

}

else if(e2.getSource()==b21)//單擊了”1/X”按鈕

{

x=Double.parseDouble(tf1.getText().trim());

if(x==0)

{

tf1.setText(“除數不能為零”);

}

else

{

tf1.setText(“”+(1/x));

}

str.setLength(0);

y=0d;

}

else if(e2.getSource()==b3)//MC為清除內存

{

m=0d;

tf2.setText(“”);

str.setLength(0);

}

else if(e2.getSource()==b4)//MR為重新調用存儲的數據

{

if(tf2.getText().trim()!=””)//有記憶數字

{

tf1.setText(“”+m);

}

}

else if(e2.getSource()==b5)//MS為存儲顯示的數據

{

m=Double.parseDouble(tf1.getText().trim());

tf2.setText(“M”);

tf1.setText(“0”);

str.setLength(0);

}

else if(e2.getSource()==b6)//M+為將顯示的數字與已經存儲的數據相加要查看新的數字單擊MR

{

m=m+Double.parseDouble(tf1.getText().trim());

}

else//選擇的是其他的按鈕

{

if(e2.getSource()==b22)//如果選擇的是”0″這個數字鍵

{

if(tf1.getText().trim().equals(“0”))//如果顯示屏顯示的為零不做操作

{

}

else

{

tf1.setText(str.append(e2.getActionCommand()).toString());

y=Double.parseDouble(tf1.getText().trim());

}

}

else if(e2.getSource()==b0)//選擇的是「BackSpace」按鈕

{

if(!tf1.getText().trim().equals(“0”))//如果顯示屏顯示的不是零

{

if(str.length()!=1)

{

tf1.setText(str.delete(str.length()-1,str.length()).toString());//可能拋出字符串越界異常

}

else

{

tf1.setText(“0”);

str.setLength(0);

}

}

y=Double.parseDouble(tf1.getText().trim());

}

else//其他的數字鍵

{

tf1.setText(str.append(e2.getActionCommand()).toString());

y=Double.parseDouble(tf1.getText().trim());

}

}

}

catch(NumberFormatException e){

tf1.setText(“數字格式異常”);

}

catch(StringIndexOutOfBoundsException e){

tf1.setText(“字符串索引越界”);

}

}

}

public static void main(String args[])

{

new Counter();

}

}

4、調試結果

5、實習體會

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-27 05:47
下一篇 2024-11-27 05:47

相關推薦

  • 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
  • Python wordcloud入門指南

    如何在Python中使用wordcloud庫生成文字雲? 一、安裝和導入wordcloud庫 在使用wordcloud前,需要保證庫已經安裝並導入: !pip install wo…

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

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

    編程 2025-04-29
  • Python小波分解入門指南

    本文將介紹Python小波分解的概念、基本原理和實現方法,幫助初學者掌握相關技能。 一、小波變換概述 小波分解是一種廣泛應用於數字信號處理和圖像處理的方法,可以將信號分解成多個具有…

    編程 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

發表回復

登錄後才能評論