亚洲精品成人18久久久久_日韩欧美色_江苏极品身材白嫩少妇自拍_曰本人做爰大片免费观看一老师_久草视频网_最近中文字幕MV高清在线视频

首頁 > 范文大全 > 實習報告 > 實習總結 > java項目實訓報告免費(精選4篇)

java項目實訓報告免費

發布時間:2023-01-08

java項目實訓報告免費(精選4篇)

java項目實訓報告免費 篇1

  一、項目需求

  本程序的主要功能:

  (1)單擊“計算器”上的數字按鈕(0~9)可以設置參與計算的運算數。

  (2)單擊“計算器”上的運算符按鈕(+、-、_、/、1/x、sqrt、%)可以選擇運算符號。

  (3)單擊“計算器”上的“=”按鈕顯示計算結果。

  (4)單擊“計算器”上的“復位”按鈕清空計算結果。

  (5)單擊“計算器”上的“刪除”按鈕刪除輸入的最后一個數字。

  二、項目設計

  在設計計算器時,編寫2個Java源文件:CalculatorWindow.java、NumberButton.java計算器除了上述Java源文件所給出的類外,還需要Java系統提供的一些重要類,如JButton,JTextField等。

  下面是2個Java源文件的總體設計。

  (1)CalculatorWindow.java(主類)

  CalculatorWindow類負責創建計算器的主窗口,該類含有main方法,計算器從該類開始執行。CalculatorWindow類有4種類型的對象,分別是:LinkedList、NumberButton、JButton、JTextField。

  (2)NumberButton.java

  NumberButton類創建的對象是主類CalculatorWindow窗口的一個“數字”按鈕。NumberButton有一個int類型的成員temp,用于標明所創建的按鈕所含有的運算符號。NumberButton所創建的22個按鈕被添加到CalculatorWindow窗口中。

  1、CalculatorWindow類(主類)

  (1)數據和方法

  CalculatorWindow類是javax.swing包中JFrame的一個字類,并實現了ActionListener接口。類中有關數據和方法的詳細說明。

  1)成員變量

  jbArray是NumberButton型數組,每個單元是一個NumberButton類創建的“數字按鈕”對象,該數組長度為10。numberButton數組中的“數字按鈕”含有的數字依次為0~9。每個“數字按鈕”都注冊有ActionEvent事件監聽器。

  2)方法

  main(String args)方法是計算器程序運行的入口方法。

  CalculatorWindow是構造方法,負責完成窗口的初始化。

  (2)代碼:

  import java.awt._;

  import java.awt.event._;

  import javax.swing._;

  public class jisuanqi extends JFrame implements ActionListener

  {

  private JTextField jtResult=new JTextField;

  private JButton jb_clear=new JButton("復位");

  private JButton jb_delete=new JButton("刪除");

  private static JButton jbArray={{new JButton("7"),new JButton("4"),new JButton("1"),new JButton("0")},

  {new JButton("8"),new JButton("5"),new JButton("2"),new JButton("+/-")},

  {new JButton("9"),new JButton("6"),new JButton("3"),new JButton(".")},

  {new JButton("/"),new JButton("_"),new JButton("-"),new JButton("+")},

  {new JButton("sqrt"),new JButton("%"),new JButton("1/x"),new JButton("=")}

  };

  int first=0;

  double qian;

  String fuhao;

  boolean clear=true,clickable=true;

  public jisuanqi

  {

  setFrame;

  addListener;

  }

  public void setFrame

  {

  this.setLayout(null);

  this.setTitle("計算器");

  jtResult.setBounds(120,100,310,30);

  jtResult.setEditable(false);

  jtResult.setHorizontalAlignment(JTextField.RIGHT);this.add(jtResult); jb_clear.setBounds(290,150,60,30); this.add(jb_clear); for(int i=0;i

  { if(clear==false) jtResult.setText(""); jtResult.setText(jtResult.getText+"6"); clear=true; } if(temp==jbArray[0][0])//點擊"7"按鈕 { if(clear==false) jtResult.setText(""); jtResult.setText(jtResult.getText+"7"); clear=true; }if(temp==jbArray[1][0])//點擊"8"按鈕 { if(clear==false) jtResult.setText(""); jtResult.setText(jtResult.getText+"8"); clear=true; } if(temp==jbArray[2][0])//點擊"9"按鈕 { if(clear==false) jtResult.setText(""); jtResult.setText(jtResult.getText+"9"); clear=true; } if(temp==jbArray[2][3])//點擊"."按鈕 { clickable=true; for (int i = 0; i < jtResult.getText.length; i++) if ('.' == jtResult.getText.charAt(i)) { clickable=false; break; } //第一層判斷是否里面含有小數點; if(clickable==true)//第二壇判斷 jtResult.setText(jtResult.getText+"."); } try { if(temp==jbArray[3][3])//點擊"+"按鈕 { qian=Double.parseDouble(jtResult.getText); fuhao="+";clear=false; } if(temp==jbArray[3][2])//點擊"-"按鈕 { qian=Double.parseDouble(jtResult.getText); fuhao="-"; clear=false; } if(temp==jbArray[3][1])//點擊"_"按鈕 { qian=Double.parseDouble(jtResult.getText); fuhao="_"; clear=false; } if(temp==jbArray[3][0])//點擊"/"按鈕 { qian=Double.parseDouble(jtResult.getText); fuhao="/"; clear=false; } if(temp==jbArray[4][3])//點擊"="按鈕 { double ss=Double.parseDouble(jtResult.getText); jtResult.setText(""); if(fuhao=="+") jtResult.setText(qian+ss+""); if(fuhao=="-") jtResult.setText(qian-ss+""); if(fuhao=="_") jtResult.setText(qian_ss+""); if(fuhao=="/") jtResult.setText(qian/ss+""); clear=false;//要清空前一次的數據 } if(temp==jbArray[4][0])//點擊"sqrt"按鈕 { String s = jtResult.getText; if(s.charAt(0) == '-') { jtResult.setText("負數不能開根號"); } else jtResult.setText(Double.toString(java.lang.Math.sqrt(Double.parseDouble(jtResult.getText))));} if(temp==jbArray[4][2])//點擊"1/x"按鈕 { if (jtResult.getText.charAt(0) == '0'&&jtResult.getText.length == 1) { jtResult.setText("除數不能為零"); } else { boolean isDec = true; int i, j, k; String s = Double.toString(1 / Double.parseDouble(jtResult.getText)); for (i = 0; i < s.length; i++) if (s.charAt(i) == '.') break; for (j = i + 1; j < s.length; j++) if (s.charAt(j) != '0') { isDec = false; break; } if (isDec == true) { String stemp = ""; for (k = 0; k < i; k++) stemp += s.charAt(k); jtResult.setText(stemp); } else jtResult.setText(s); } clear=false; } if(temp==jbArray[4][1])//點擊"%"按鈕 { jtResult.setText("0"); clear=false; } if (temp == jbArray[1][3]) //點擊"+/-"按鈕 { boolean isNumber = true; String s = jtResult.getText; for (int i = 0; i < s.length; i++)去掉

  } { isNumber = false; break; } if (isNumber == true) { //如果當前字符串首字母有'-'號,代表現在是個負數,再按下時,則將首符號 if(s.charAt(0) == '-') { jtResult.setText(""); for (int i = 1; i < s.length; i++) { char a = s.charAt(i); jtResult.setText(jtResult.getText + a); } } //如果當前字符串第一個字符不是符號,則添加一個符號在首字母處 else jtResult.setText('-' + s); } } } catch(Exception eee) { System.out.println("運算時,首先輸入數字或字符"); jtResult.setText("運算出錯"); clear=false; } } public static void main(String args) { new jisuanqi; }

  (3)效果圖

  三、項目總結

  本程序為JAVA中簡單的計算器,主要實現簡單的數學計算,刪除,復位等功能。運用JAVA中的類,數組,成員變量等知識,有簡單的界面,按鈕等。

  本程序還存在一定的缺陷,功能簡單,界面還需美化等。

  四、心得體會

  編寫一個程序,無論會實現什么功能,都必須掌握這門語言的要領、基本知識及工具的運用,同時別的輔助工具也要有一定的了解。因此要更好的運用Java語言編程還需更深入的學習,這樣才能把一個程序的功能實現的淋漓盡致,界面才會更加美觀。

  同時編寫這個程序讓我更好的理解了數組、類的運用及事件的監聽和獲取等功能。

java項目實訓報告免費 篇2

  一、項目需求

  本程序的主要功能:

  (1)單擊“計算器”上的數字按鈕(0~9)可以設置參與計算的運算數。

  (2)單擊“計算器”上的運算符按鈕(+、-、*、/、1/x、sqrt、%)可以選擇運算符號。

  (3)單擊“計算器”上的“=”按鈕顯示計算結果。

  (4)單擊“計算器”上的“復位”按鈕清空計算結果。

  (5)單擊“計算器”上的“刪除”按鈕刪除輸入的最后一個數字。

  二、項目設計

  在設計計算器時,編寫2個Java源文件:CalculatorWindow.java、NumberButton.java計算器除了上述Java源文件所給出的類外,還需要Java系統提供的一些重要類,如JButton,JTextField等。

  下面是2個Java源文件的總體設計。

  (1)CalculatorWindow.java(主類)

  CalculatorWindow類負責創建計算器的主窗口,該類含有main方法,計算器從該類開始執行。CalculatorWindow類有4種類型的對象,分別是:LinkedList、NumberButton、JButton、JTextField。

  (2)NumberButton.java

  NumberButton類創建的對象是主類CalculatorWindow窗口的一個“數字”按鈕。NumberButton有一個int類型的成員temp,用于標明所創建的按鈕所含有的運算符號。NumberButton所創建的22個按鈕被添加到CalculatorWindow窗口中。

  1、CalculatorWindow類(主類)

  (1)數據和方法

  CalculatorWindow類是javax.swing包中JFrame的一個字類,并實現了ActionListener接口。類中有關數據和方法的詳細說明。

  1)成員變量

  jbArray是NumberButton型數組,每個單元是一個NumberButton類創建的“數字按鈕”對象,該數組長度為10。numberButton數組中的“數字按鈕”含有的數字依次為0~9。每個“數字按鈕”都注冊有ActionEvent事件監聽器。

  2)方法

  main(String args)方法是計算器程序運行的入口方法。

  CalculatorWindow是構造方法,負責完成窗口的初始化。

  (2)代碼:

  import java.awt.*;

  import java.awt.event.*;

  import javax.swing.*;

  public class jisuanqi extends JFrame implements ActionListener

  {

  private JTextField jtResult=new JTextField;

  private JButton jb_clear=new JButton("復位");

  private JButton jb_delete=new JButton("刪除");

  private static JButton jbArray={{new JButton("7"),new JButton("4"),new JButton("1"),new JButton("0")},

  {new JButton("8"),new JButton("5"),new JButton("2"),new JButton("+/-")},

  {new JButton("9"),new JButton("6"),new JButton("3"),new JButton(".")},

  {new JButton("/"),new JButton("*"),new JButton("-"),new JButton("+")},

  {new JButton("sqrt"),new JButton("%"),new JButton("1/x"),new JButton("=")}

  };

  int first=0;

  double qian;

  String fuhao;

  boolean clear=true,clickable=true;

  public jisuanqi

  {

  setFrame;

  addListener;

  }

  public void setFrame

  {

  this.setLayout(null);

  this.setTitle("計算器");

  jtResult.setBounds(120,100,310,30);

  jtResult.setEditable(false);

  jtResult.setHorizontalAlignment(JTextField.RIGHT);this.add(jtResult); jb_clear.setBounds(290,150,60,30); this.add(jb_clear); for(int i=0;i

  { if(clear==false) jtResult.setText(""); jtResult.setText(jtResult.getText+"6"); clear=true; } if(temp==jbArray[0][0])//點擊"7"按鈕 { if(clear==false) jtResult.setText(""); jtResult.setText(jtResult.getText+"7"); clear=true; }if(temp==jbArray[1][0])//點擊"8"按鈕 { if(clear==false) jtResult.setText(""); jtResult.setText(jtResult.getText+"8"); clear=true; } if(temp==jbArray[2][0])//點擊"9"按鈕 { if(clear==false) jtResult.setText(""); jtResult.setText(jtResult.getText+"9"); clear=true; } if(temp==jbArray[2][3])//點擊"."按鈕 { clickable=true; for (int i = 0; i < jtResult.getText.length; i++) if ('.' == jtResult.getText.charAt(i)) { clickable=false; break; } //第一層判斷是否里面含有小數點; if(clickable==true)//第二壇判斷 jtResult.setText(jtResult.getText+"."); } try { if(temp==jbArray[3][3])//點擊"+"按鈕 { qian=Double.parseDouble(jtResult.getText); fuhao="+";clear=false; } if(temp==jbArray[3][2])//點擊"-"按鈕 { qian=Double.parseDouble(jtResult.getText); fuhao="-"; clear=false; } if(temp==jbArray[3][1])//點擊"*"按鈕 { qian=Double.parseDouble(jtResult.getText); fuhao="*"; clear=false; } if(temp==jbArray[3][0])//點擊"/"按鈕 { qian=Double.parseDouble(jtResult.getText); fuhao="/"; clear=false; } if(temp==jbArray[4][3])//點擊"="按鈕 { double ss=Double.parseDouble(jtResult.getText); jtResult.setText(""); if(fuhao=="+") jtResult.setText(qian+ss+""); if(fuhao=="-") jtResult.setText(qian-ss+""); if(fuhao=="*") jtResult.setText(qian*ss+""); if(fuhao=="/") jtResult.setText(qian/ss+""); clear=false;//要清空前一次的數據 } if(temp==jbArray[4][0])//點擊"sqrt"按鈕 { String s = jtResult.getText; if(s.charAt(0) == '-') { jtResult.setText("負數不能開根號"); } else jtResult.setText(Double.toString(java.lang.Math.sqrt(Double.parseDouble(jtResult.getText))));} if(temp==jbArray[4][2])//點擊"1/x"按鈕 { if (jtResult.getText.charAt(0) == '0'&&jtResult.getText.length == 1) { jtResult.setText("除數不能為零"); } else { boolean isDec = true; int i, j, k; String s = Double.toString(1 / Double.parseDouble(jtResult.getText)); for (i = 0; i < s.length; i++) if (s.charAt(i) == '.') break; for (j = i + 1; j < s.length; j++) if (s.charAt(j) != '0') { isDec = false; break; } if (isDec == true) { String stemp = ""; for (k = 0; k < i; k++) stemp += s.charAt(k); jtResult.setText(stemp); } else jtResult.setText(s); } clear=false; } if(temp==jbArray[4][1])//點擊"%"按鈕 { jtResult.setText("0"); clear=false; } if (temp == jbArray[1][3]) //點擊"+/-"按鈕 { boolean isNumber = true; String s = jtResult.getText; for (int i = 0; i < s.length; i++)去掉

  } { isNumber = false; break; } if (isNumber == true) { //如果當前字符串首字母有'-'號,代表現在是個負數,再按下時,則將首符號 if(s.charAt(0) == '-') { jtResult.setText(""); for (int i = 1; i < s.length; i++) { char a = s.charAt(i); jtResult.setText(jtResult.getText + a); } } //如果當前字符串第一個字符不是符號,則添加一個符號在首字母處 else jtResult.setText('-' + s); } } } catch(Exception eee) { System.out.println("運算時,首先輸入數字或字符"); jtResult.setText("運算出錯"); clear=false; } } public static void main(String args) { new jisuanqi; }

  (3)效果圖

  三、項目總結

  本程序為JAVA中簡單的計算器,主要實現簡單的數學計算,刪除,復位等功能。運用JAVA中的類,數組,成員變量等知識,有簡單的界面,按鈕等。

  本程序還存在一定的缺陷,功能簡單,界面還需美化等。

  四、心得體會

  編寫一個程序,無論會實現什么功能,都必須掌握這門語言的要領、基本知識及工具的運用,同時別的輔助工具也要有一定的了解。因此要更好的運用Java語言編程還需更深入的學習,這樣才能把一個程序的功能實現的淋漓盡致,界面才會更加美觀。

  同時編寫這個程序讓我更好的理解了數組、類的運用及事件的監聽和獲取等功能。

java項目實訓報告免費 篇3

  作為就業培訓,項目的好壞對培訓質量的影響非常大,常常是決定性的作用,簡單總結為以下幾點:

  1、項目一定要全新的項目,不能是以前做過的

  2、項目一定要企業真實項目,不能是精簡以后的,不能脫離實際應用系統

  3、在開發時要和企業的開發保持一致

  4、在做項目的時候不應該有參考代碼

  長話短說就是以上幾點,如果你想要更多的了解,可以繼續往后看。

  一:項目的地位

  因為參加就業培訓的學員很多都是有一定的計算機基礎,大部分都具備一定的編程基礎,尤其是在校或者是剛畢業的學生,多少都有一些基礎。

  他們欠缺的主要是兩點:

  (1)不能全面系統的、深入的掌握某種技術,也就是會的挺多,但都是皮毛,不能滿足就業的需要。

  (2)沒有任何實際的開發經驗,完全是想象中學習,考試還行,一到實際開發和應用就歇菜了。

  解決的方法就是通過項目練習,對所學知識進行深化,然后通過項目來獲取實際開發的經驗,從而彌補這些不足,盡快達到企業的實際要求。

  二:如何選擇項目

  項目既然那么重要,肯定不能隨隨便便找項目,那么究竟如何來選擇呢?根據java的研究和實踐經驗總結,選擇項目的時候要注意以下方面:

  1:項目不能太大,也不能太小

  這個要根據項目練習的階段,練習的時間,練習的目標來判斷。不能太大,太大了做不完,也不能太小,太小了沒有意義,達不到練習的目的。

  2:項目不能脫離實際應用系統

  項目應該是實際的系統,或者是實際系統的簡化和抽象,不能夠是沒有實戰意義的教學性或者是純練習性的項目。因為培訓的時間有限,必須讓學員盡快地融入到實際項目的開發當中去。任何人接受和掌握一個東西都需要時間去適應,需要重復幾次才能夠真正掌握,所以每個項目都必須跟實際應用掛鉤。

  3:項目應能覆蓋所學的主要知識點

  學以致用,學完的知識點需要到應用中使用,才能夠真正理解和掌握,再說了,軟件開發是一個動手能力要求很高的行業,什么算會了,那就是能夠做出來,寫出代碼來,把問題解決了,你就算會了。

  4:最后綜合項目一定要是實際應用系統

  學員經過這個項目的練習,就要走上實際的工作崗位了,如果這個系統還達不到實際應用系統的標準,學員練習過后也還是達不到企業實際的需要,那么這個培訓應該說質量就不高了。理想的狀況是這個項目就是實際項目,到時候學員就業到另外一個公司,不過是換個地方干活而已,完全沒有技能上的問題。

  三:java怎么選擇項目

  這個不是靠想象,而是根據實際的情況一步一步分析出來的(呵呵要賣弄一下:這也算是邏輯思維),當然這里只是討論方法,不涉及具體的項目案例。

  我們可以采用倒推的方式來分析:

  (1)最終的項目一定是真實的項目,也就是要把學員訓練到能夠獨立開發實際應用,通常我們還不能選最簡單的項目,因為學員的吸收還要有一個折扣,所以最終的項目應該選實際項目中中等難度的項目

  (2)最終項目定下來過后,開始分解這個項目,看看為了達到完成這個項目需要哪些技術和知識點,以及每部分知識點的深度,然后定出每個分階段的任務

  (3)然后開始選擇分階段的項目,分階段的項目應該比剛才分析出來的分階段任務稍稍復雜點,這樣才能達到訓練的目標。定下分階段項目后,同樣去分解,定出為了完成他所需要的各部分知識點和深度。

  (4)然后是選擇上課期間的演示項目,演示的項目是為了做分階段項目服務的,可以認為是分階段項目的分階段項目

  (5)最終把要求掌握的知識點和要求掌握的深度,分散到日常教學和練習中。

  好了,把上面的分析用正向描述就是:

  日常教學和練習中學習和掌握的知識 ==〉演示項目 ==〉分階段項目 ==〉綜合項目 ==〉勝任企業實際開發需要。

  附注:有了好的項目還要有好的訓練方法(這個另外立文討論),最最基本和重要的一條就是:絕對要指導學生親自動手做,而不是看和聽,所以盡量不要選擇有現成代碼的項目,演示用的項目也最好不配發代碼,讓學生能夠跟著做出來才是真的掌握了。

  上面闡述了java對項目的態度和基本選擇方法,這里再把其中幾個重要的、與眾不同的特點闡述如下:

  1:真項目

  項目一定要真實,要是企業實際應用的,不能是教學性的項目,否則會脫離實達不到項目實訓的效果。還有一個一定要是最新的項目,企業的要求也是在不斷變化的,應用技術的方向和層次也在不斷變化,這些都體現在最新項目的要求上,舊項目所要求的技術和層次很可能已經過時了,根本達不到訓練的目的。

  java的做法是:沒有固定項目,每個班做項目之前會從企業獲取最新的項目需求,然后經過挑選和精心設計,以保證既能訓練技術,又能得到實際的開發經驗。這樣實現了跟企業的同步,企業做什么,我們就學什么,然后也跟著做什么。

  2:真流程

  開發的流程也要跟企業的實際開發保持一致。從項目立項開始,到需求分析、概要設計、詳細設計、編碼、測試的各個環節,都要完全按照真實的開發流程來做。

  java的主力老師都是實戰出身,在java開發方面都至少有七年以上的開發經驗,同時具備多年的項目管理經驗,所以能夠完全按照企業開發的流程來訓練學生。

  3:真環境

  開發的環境也要跟企業一樣,包括常用的開發工具、開發平臺、應用服務器、常用插件、測試工具、項目管理工具、項目管理文檔等等。

  java的做法是:構建跟企業完全一樣的環境,然后跟企業開發一樣,分團隊開發。老師就相當于項目經理,一個班分成多個小組,每個組有自己的team leader,大家分工合作,共同完成項目。

  4:真開發

  這是java最與眾不同的一點,java深知:軟件是做出來的,而不是聽出來或者看出來的,企業需要能實際開發的人員,而不是只聽過、看過但不能做的人。所以java非常強調:項目一定要讓學生動手寫出來。

  java的做法是:老師做為項目經理,帶領著大家一起去做需求分析、概要設計、數據結構設計、接口設計、重要業務流程的分析設計等,然后由學生們分團隊進行開發,實現整個項目。這里有幾個與眾不同:

  (1):現場帶領學生一起做分析和設計,而不是預先做好了來講講。因為需要學生學習的是分析設計的過程和方法,而不是已經做好的結果。

  (2):java選用的項目基本都是企業最新的項目,很多都是java的學生和企業在同期開發,所以是不配發源代碼的。這樣也斷絕了學生的依賴思想,認認真真去開發。可能有同學會問:為什么不選擇有源代碼的項目呢,那樣還可以參考學習啊!

  這是一個典型的誤區:覺得通過看人家的代碼能夠加快自己的學習。這個方法對有經驗的人來講是對的,但是對于還在學習期間,沒有經驗的學員來講,就是一個認識的誤區了。因為你也許能看懂代碼的語法,但根本看不懂代碼背后的含義,看不懂代碼的設計,看不懂為什么要這么實現,看不懂代碼所體現的思想,其實,看了跟沒看沒有多大區別。

  事實上,java界最不缺的就是代碼了,那么多開源軟件,小到一個工具,到企業級erp都有開源的,而且很多都是大師級的作品,說實話比你參考的那些代碼質量高多了,但是又有多少人能真正看明白呢,原因就在于達不到那個水平,看不懂代碼背后所體現的設計和思想以及為什么要這么做,效果也就不好了。

  當然不排除有這樣的高人是能夠完全能理解和掌握這些大師級作品的,但估計不會是剛開始學習java開發的學生,所以java根據多年的培訓經驗,友情提示:在初學階段,看一千遍,聽一千遍,都不如自己動手寫一遍所達到的學習效果。自己能寫出來的功能才是你真正掌握的功能,而不是你看得代碼或者是聽老師講的,就算講過看過,但是自己做不出來,那都不算會。

  (3):java在課堂上除了帶領學生去分析設計外,還會分析一些重點、難點功能的實現機制和原理,然后指導學生去實現。

  5:真技術

  java在每個項目中,特別會抽取有難度的部分讓學生們在老師指導下實現,專門啃硬骨頭,那才能真正鍛煉學生的開發能力。

  比如:在做oa類的項目時,會重點去做工作流、公文收發、在線office控制等;在做crm類項目時:會重點去做銷售自動化和市場塊的業務;在做人力資源類項目的時候會重點去做人力跟蹤和人力評測模型等......

  java在每個項目中,都會使用目前企業最新最流行的技術,按照最新的難度去要求,從而讓學員能更符合企業的需要。

  6:真經驗

  java的項目都是企業最新的真實項目,經過開發訓練,學員能夠積累足夠的真實的開發經驗,以勝任企業的工作需要。在進行項目分析時,還會全面講解項目所要求的業務,讓學員從業務和技術上都能充分積累。

  7:真實力

  作為就業培訓,項目的好壞對培訓質量的影響非常大,常常是決定性的作用。這篇文章是關于在學習java軟件開發時練習項目的總結,簡單總結為以下幾點:事實上,不采用有源代碼的教學性項目對java的要求非常高。 試想一下,如果項目分發下去,老師帶著分析后,學生都不會做會出現什么樣的后果?這對java的教學質量提出了極高的要求,如果教學質量達不到讓學員獨立開發的水平,對依靠質量取勝和口碑發展的java將是毀滅性的。

  另外一個,由于是全真的項目,在開發的過程中,肯定會有很多的問題出現,這些都要老師去解決,由于不像教學項目那樣預先做好,又需要老師能很快地解決各個問題,這對老師的真實開發水平有極高的要求,這可是需要真功夫的。

  總結

  總之,java通過真實的項目,真實的開發環境和開發流程,指導學員去真正開發,讓學員得到真正的鍛煉,收獲真正的開發能力。

  有了真正的開發能力==>能夠勝任企業的實際需要==>高薪好工作。

java項目實訓報告免費 篇4

  一、 課程設計名稱及主要內容:

  1、 課程設計名稱:

  時鐘動畫

  2、 課程設計的主要內容:

  以下題目任選一個:

  (1)圖形界面類,如科學計算器、繪圖板、日歷、游戲程序等。

  (2)動畫類,編制功能較復雜、效果較好的Applet動畫程序。

  (3)數據處理類,如學生學籍、課程成績、圖書編目、倉庫貨物等數據錄入查詢程序。

  (4)其他類型,自選題目,須經指導老師同意。

  我所選的題目是動畫類的Applet動畫程序,主要任務是用Java程序設計一個時鐘動畫。

  二、 程序的設計思想和流程圖:

  1、 設計思想:

  現在的各種時鐘花樣百出,千奇百怪,功能亦是越來越先進了。我很喜歡這些各式各樣的時鐘,所以希望自己也能設計出一個來。于是,我希望自己能夠用自己所學的Java知識設計出一個自己的時鐘動畫,即使是最簡單的,但我相信這是暫時的。只要我能夠努力學好Java知識,將來一定能夠設計出更好更完美的時鐘動畫。

  2、 流程圖:

  三、 程序介紹:

  1、設計方法及步驟 :

  ? 題目分析:

  根據《課程設計任務書》要求,分析題目,構造出程序的基本思路(算法設計)。畫出程序

  設計結構框圖。

  ? 構造數據結構:

  根據程序結構框圖和題目分析結果(采用算法),構造程序所用各項數據,各種窗體及他們

  之間的聯系。

  ? 構造程序框架:

  在窗體確定之后,根據算法設計出所用各個窗體之間的調用關系。

  ? 程序設計:

  ①畫出程序功能框圖和結構框圖;

  ②根據框圖設計程序;

  ③編譯程序調試程序,使程序可以使用;

  ④完備程序功能。

  ? 程序打包:

  所設計程序匯總,將程序分類歸入相應子目錄,完成程序所有設計要求。

  2、完成情況:

  經過一系列的Java程序代碼的設計,雖然過程中遇到了許多的問題,但是最終解決了所有的問題,準確的設計出了時鐘動畫,運行情況正常。

  3、類的關系:

  “public class AnimatorDemo”是公共類,且是程序中的唯一的一個類。

  4、構造方法、成員變量和成員方法的功能說明:

  “Thread timer”用于顯示時鐘的線程;

  “SimpleDateFormat formatter”用于格式化時間顯示; “String lastdate”用于保存當前時間的字符串;

  “Font clockFaceFont”用于設置顯示時鐘里面的數字的字體; “Date currentDate”用于顯示當前時間;

  “Color handColor”用于顯示時針、分針和表盤的顏色; “Color numberColor” 用于顯示秒針和數字的顏色; “public void init”用于設計時鐘格式并捕捉異常;

  “public void plotpoints(int x0, int y0, int x, int y, Graphics g)” 用于計算四分之一的圓弧;

  “public void circle(int x0, int y0, int r, Graphics g”) 用Bresenham算法來畫圓,其中(x0,y0)是圓的中心,r為圓半徑; “public void paint(Graphics g)”用于運行時鐘程序; “public void start” applet的啟動方法;

  “public void stop” applet的停止方法;

  “public void run” 線程的run方法。

  四、 遇到的問題和解決方法:

  1、 問題:

  ? 寫程序的時候,由于對有些Java知識不懂,所以有些想要表達的意思無法用Java代碼準確的表達出來,老是出錯或者無法寫下去;

  ? 一開始,自己準備的參考資料不足,無法在遇到問題時有效的利用參考資料解決,遇到不懂的問題和不會用程序語言表達的問題時,只能留在那里,無法解決,結果問題最后越積越多,導致我無法再把程序寫下去;

  ? 一開始,對于老師布置的作業題目,我不太懂,無法進行有效而且清晰的分析,自然也無法繼續下去寫程序了,耽誤了較多的時間;

  ? 對于要寫流程圖,一開始我并不懂是什么意思,也不知道怎么去寫。

  2、 解決方法:

  ? 對于那些不懂的Java知識和不會寫的程序,我通過向同學尋求幫助和利用參考資料書,最終都解決了;

  ? 對于自己參考資料不足的缺點,我在下課后,去了圖書館借閱有關方面的Java參考資料書,并且向同學借閱了他們所擁有的資料書,然后又利用自己的電腦上網查找了一些有關方面的參考知識,終于在最后解決了資料不足的缺點;

  ? 對于不懂的題目,我也通過向多個同學進行詢問,最終弄懂了老師布置的題目所要求的內容;

  ? 至于流程圖,在我向同學詢問過,并且上網進行了一番查找和咨詢后,也總算弄懂了流程圖的含義,并努力寫了出來。

  五、 認識、感想、建議:

  六、 參考資料:

  《精通Java——JDK、數據庫系統開發、Web開發》

  《Java進階教程》

  《零起點Java應用編程》

  《Java程序設計應用基礎教程》

  七、 附加源程序:

  import java.util._;

  import java.awt._;

  import java.applet._;

  import java.text._;

  public class AnimatorDemo extends Applet implements Runnable

  {

  Thread timer; // 用于顯示時鐘的線程

  int lastxs, lastys, lastxm,

  lastym, lastxh, lastyh;

  SimpleDateFormat formatter; //格式化時間顯示

  String lastdate; // 保存當前時間的字符串

  Font clockFaceFont; //設置顯示時鐘里面的數字的字體

  Date currentDate; // 顯示當前時間

  Color handColor; // 用于顯示時針、分針和表盤的顏色

  Color numberColor; // 用于顯示秒針和數字的顏色

  public void init

  {

  int x,y;

  lastxs = lastys = lastxm = lastym = lastxh = lastyh = 0;

  formatter = new SimpleDateFormat ("yyyy EEE MMM dd hh:mm:ss ");

  currentDate = new Date;

  lastdate = formatter.format(currentDate);

  clockFaceFont = new Font("Serif", Font.PLAIN, 14);

  handColor = Color.blue;

  numberColor = Color.darkGray;

  try {

  setBackground(new Color(Integer.parseInt(getParameter("bgcolor"),16)));}

  catch (Exception E) { }

  try {

  handColor = new Color(Integer.parseInt(getParameter("fgcolor1"),16));}

  catch (Exception E) { }

  try {

  numberColor = new Color(Integer.parseInt(getParameter("fgcolor2"),16));} catch (Exception E) { } resize(300,300); // 設置時鐘窗口大小}

  // 計算四分之一的圓弧

  public void plotpoints(int x0, int y0, int x, int y, Graphics g)

  {

  g.drawLine(x0+x,y0+y,x0+x,y0+y);

  g.drawLine(x0+y,y0+x,x0+y,y0+x);

  g.drawLine(x0+y,y0-x,x0+y,y0-x);

  g.drawLine(x0+x,y0-y,x0+x,y0-y);

  g.drawLine(x0-x,y0-y,x0-x,y0-y);

  g.drawLine(x0-y,y0-x,x0-y,y0-x);

  g.drawLine(x0-y,y0+x,x0-y,y0+x);

  g.drawLine(x0-x,y0+y,x0-x,y0+y);}

  // 用Bresenham算法來畫圓,其中(x0,y0)是圓的中心,r為圓半徑

  public void circle(int x0, int y0, int r, Graphics g)

  {

  int x,y;

  float d;

  x=0;

  y=r;

  d=5/4-r;

  plotpoints(x0,y0,x,y,g);

  while(y>x){

  if (d<0) {

  d=d+2_x+3;

  x++;}

  else {

  d=d+2_(x-y)+5;

  x++;

  y--;}

  plotpoints(x0,y0,x,y,g);}}

  public void paint(Graphics g)

  {int xh, yh, xm, ym, xs, ys, s = 0, m = 10, h = 10, xcenter, ycenter; String today;

  currentDate = new Date;

  SimpleDateFormat formatter = new SimpleDateFormat("s",Locale.getDefault); try {

  s = Integer.parseInt(formatter.format(currentDate));

  } catch (NumberFormatException n) {

  s = 0;}

  formatter.applyPattern("m");

  try {

  m = Integer.parseInt(formatter.format(currentDate));

  } catch (NumberFormatException n) {

  m = 10;}

  formatter.applyPattern("h");

  try {

  h = Integer.parseInt(formatter.format(currentDate));

  } catch (NumberFormatException n) {

  h = 10;}

  formatter.applyPattern("EEE MMM dd HH:mm:ss yyyy");

  today = formatter.format(currentDate);

  //設置時鐘的表盤的中心點為(80,55)

  xcenter=80;

  ycenter=55;

  // a= s_ pi/2 - pi/2 (to switch 0,0 from 3:00 to 12:00)

  // x = r(cos a) + xcenter, y = r(sin a) + ycenter

  xs = (int)(Math.cos(s _ 3.14f/30 - 3.14f/2) _ 45 + xcenter);

  ys = (int)(Math.sin(s _ 3.14f/30 - 3.14f/2) _ 45 + ycenter);

  xm = (int)(Math.cos(m _ 3.14f/30 - 3.14f/2) _ 40 + xcenter);

  ym = (int)(Math.sin(m _ 3.14f/30 - 3.14f/2) _ 40 + ycenter);

  xh = (int)(Math.cos((h_30 + m/2) _ 3.14f/180 - 3.14f/2) _ 30 + xcenter); yh = (int)(Math.sin((h_30 + m/2) _ 3.14f/180 - 3.14f/2) _ 30 + ycenter); //畫時鐘最外面的圓盤其中心在(xcenter,ycenter)半徑為50

  g.setFont(clockFaceFont);

  g.setColor(handColor);

  circle(xcenter,ycenter,50,g);

  //畫時鐘表盤里的數字

  g.setColor(numberColor);

  g.drawString("9",xcenter-45,ycenter+3);

  g.drawString("3",xcenter+40,ycenter+3);

  g.drawString("12",xcenter-5,ycenter-37);

  g.drawString("6",xcenter-3,ycenter+45);

  // 如果必要的話抹去然后重畫

  g.setColor(getBackground);

  if (xs != lastxs || ys != lastys) {

  g.drawLine(xcenter, ycenter, lastxs, lastys);

  g.drawString(lastdate, 5, 125);}

  if (xm != lastxm || ym != lastym) {

  g.drawLine(xcenter, ycenter-1, lastxm, lastym);

  g.drawLine(xcenter-1, ycenter, lastxm, lastym); }

  if (xh != lastxh || yh != lastyh) {

  g.drawLine(xcenter, ycenter-1, lastxh, lastyh);

  g.drawLine(xcenter-1, ycenter, lastxh, lastyh); }

  g.setColor(numberColor);

  g.drawString("", 5, 125);

  g.drawString(today, 5, 125);

  g.drawLine(xcenter, ycenter, xs, ys);

  g.setColor(handColor);

  g.drawLine(xcenter, ycenter-1, xm, ym);

  g.drawLine(xcenter-1, ycenter, xm, ym);

  g.drawLine(xcenter, ycenter-1, xh, yh);

  g.drawLine(xcenter-1, ycenter, xh, yh);

  lastxs=xs; lastys=ys;

  lastxm=xm; lastym=ym;

  lastxh=xh; lastyh=yh;

  lastdate = today;

  currentDate=null;

  }//applet的啟動方法

  public void start

  {timer = new Thread(this);

  timer.start;

  }// applet的停止方法

  public void stop

  {timer = null;

  }//線程的run方法

  public void run

  {Thread me = Thread.currentThread;

  while (timer == me) {

  try {Thread.currentThread.sleep(1000);}

  catch (InterruptedException e)

  repaint;}

  }//注意:這里重寫了update方法,只是調用了paint方法來消除閃爍現象 public void update(Graphics g)

  {paint(g);}

  }

java項目實訓報告免費(精選4篇) 相關內容:
  • 工商管理專業實習自我總結(通用15篇)

    我于2x年3月1日到4月26日在先xx公司進行為期57天的企業實習,在為期57天的企業實習中將課堂上所學到的知識運用到實踐中讓我深有感觸,感覺自己所學的知識匱乏和實踐操作缺乏經驗,開始感覺工作無從下手不知所措,現將我的工作進行如下總結...

  • 中專生實習個人總結(精選16篇)

    我叫,是家樂店收銀員一名入職不久的新員工,雖說是新員工,但在公司工作也將近三個月時間了。轉眼間快到年底了,來到本公司的這幾個月里,我不僅學會了很多專業知識,而且也學會了人與人之間的交往,特別是怎樣與顧客溝通。...

  • 工程實習總結(通用14篇)

    認識實習是在學完有關基礎知識后,進行專業課學習之前必須要完成的一項重要的教學實踐環節。一、實習內容1、參觀__公司__,是中國一個比較知名的設計公司,其分公司遍布___等中國十幾個城市,并延伸到__以及一些__國家,可見其影響之深遠...

  • 網絡客服專員實習總結(精選3篇)

    穿梭于各種人才市場,各種人才交流會,同學們陸陸續續的找到了工作,很快我也加入到了上班族的行列。這是一家私營企業,總公司在成都,主要業務在菲律賓以及澳門和廈門一帶,南寧的公司只是一個小小的分部。...

  • 大學生畢業實習個人工作總結(精選15篇)

    1. 扎實的專業知識是你提高工作水平的堅實基礎。在學校學習專業知識時,可能感覺枯燥無味,但當你工作以后,你才會發現專業知識是多么的重要。如我學的印刷概論,印刷色彩學等,這些印刷知識是必須知道的,因為在日常工作中要處處用到。...

  • 保險公司實習工作總結報告(精選3篇)

    今年暑假,我有幸到中國人壽保險股份有限公司榮昌支公司進行了為期40天的實習,在這一個多月的實習中我學到了很多在課堂上和書本上根本就學不到的知識,受益匪淺。現在我就對這40天的實習做一個工作小結。...

  • 實習個人總結范文十五篇

    這段時間以來的實習工作已經結束了,我覺得自己能夠細心的去處理好自己分內的事情,這對實習也是很有幫助的,雖然實習只有三個月的時間,但是我一直都能夠從中掌握更多的知識,這對我的影響還是比較大的,雖然實習已經結束了,但是我一定...

  • 實習生總結范文十篇

    陰似箭,歲月如梭。一晃幾個月的實習生活已經過去了,在最近的幾個月的實習過程中,我有著許多的收獲和歡樂,但也有苦澀和教訓,這些成功的經驗將激勵我在以后的人生之路上取得更大成績,失敗的經歷將使努力去改變自己不完美的地方,讓自...

  • 會計實習總結1500字十篇

    來到金橋稅務師事務所已兩月了,時光荏苒如白駒過隙,在這短短的兩個月的時間里,我們成長了、學習了也被教育了。在兩個月前開始的本次會計實習,采取理論與實際相結合的實習的方式,再通過實踐操作來鞏固學習到的理論知識。...

  • 實習總結
主站蜘蛛池模板: www.嫩草影院 | 第一福利在线 | 日韩亚洲制服丝袜中文字幕 | 国精产品深夜免费麦片 | 日日射av| 日日操夜夜操天天爽 | 久久精品一本一区人人 | WWW片香蕉内射在袋88AV8 | 中文字幕色婷婷在线视频 | 欧美疯狂xxxxbbbb动态图 | 亚洲综合区夜久久无码精品 | 成人午夜激情福利最新在线播放 | 亚洲狼人在线 | 日本久草| 欧美性猛xxxxx | 四虎永久在线精品免费一区二区 | 亚洲午夜精品一区二区三区四区 | 欧美综合二区 | 免费国产a | 国产亚洲色婷婷久久99精品 | 户外露出一区二区三区 | 您好星期六2024最新免费观看 | 久久av一区二区三区 | 无码专区视频中文字幕 | 日本97av | 色88888久久久久久影院 | 国产吃瓜黑料一区二区 | 女子喷水视频在线观看 | 伊人开心22.yiren亚洲 | 日本伊人精品一区二区三区介绍 | 亚洲一区二区三区久久久 | a级毛片毛片免费观看久潮 国产在线视频不卡一区二区三区 | av在线网站免费观看 | 在线观看日本黄色 | 国产色综合天天综合网 | 精品少妇一区二区三区在线视频 | 偷窥目拍性综合图区 | 国产视频一区二区三区在线播放 | 欧美国产精品日韩约炮 | 国产精品亚洲三区 | 免费A级毛片无码视频 |