標籤:
北京電子科技學院(BESTI)
實 驗 報 告
課程:Java程式設計 班級:1352 姓名:馬悅 學號:20135235
成績: 指導教師:婁嘉鵬 實驗日期:2015.4.13
實驗密級: 預習程度: 實驗時間:20:30---22:30
儀器組次: 必修/選修:選修 實驗序號:1
實驗名稱: JAVA開發環境的熟悉
實驗目的與要求:1. 使用JDK編譯、運行簡單的Java程式。
2.在命令列和Eclipse下編輯、編譯、運行、調試簡單的Java程式。
3.沒有Linux基礎的同學建議先學習《Linux基礎入門(新版)》《Vim編輯器》課程。
實驗儀器:
名稱 型號 數量
PC ThinkPad 1
虛擬機器 實驗樓 1
一、實驗步驟
1、命令列下JAVA的程式開發
(1)首先雙擊案頭上的Xface終端表徵圖,開啟終端(類似Windows下的cmd),之後會自動運行shell程式。
(2)輸入cd Code命令進入Code(注意C要大寫)目錄,輸入mkdir 20135235命令建立實驗目錄,可以使用ls命令或dir命令查看建立的目錄情況。
(3)輸入cd 20135235命令進入實驗目錄,再輸入mkdir exp1建立第一個實驗目錄,然後輸入cd exp1進入實驗一目錄,可以輸入pwd命令查看當前工作路徑。
(4)輸入gedit Hello.java(注意把代碼儲存到exp1目錄中)或vim Hello.java(建議大家花點時間學習一下Vim)編輯Hello.java,並輸入以下代碼:
1 package ljp;
2 import java.util.Scanner;
3 public class Hello{
4 public static void main(String[] args){
5 System.out.println("Input your first name, please:");
6 Scanner s = new Scanner(System.in);
7 String name = s.next();
8 System.out.println("Hello " + name + " !");
9 }
10 }
注意代碼的第一行,這會影響到我們使用javac編譯代碼的方式。
注意代碼第二行,我們使用到Java類庫中的類時,要用import匯入相關的類(可以暫時理解為C語言中include的功能),匯入路徑可以查看JDK協助文檔,比如我們使用到了Scanner類,路徑見中紅框:
(6)輸入javac -d . Hello.java命令編譯代碼,輸入java hyq.Hello命令運行程式。(在實驗樓中已)
2、Eclipse下JAVA程式開發、調試
(1)在命令列中輸入eclipse命令並斷行符號或單擊案頭上的Eclipse EE表徵圖開啟Eclipse
(2)在Eclipse中單擊File->New-> Java Project建立Java項目。輸入項目名稱HelloJDB,並單擊Finish按鈕完成建立項目。
(3)在Eclipse中單擊File->New->Class建立Java類。
(4)根據Java代碼規範輸入包名hyq,類名HelloJDB,並勾選上自動產生main函數選項,最後單擊Finish按鈕。
(5)輸入代碼,單擊運行按鈕(或使用Ctrl+F11快速鍵),就可以在控制台(Console)中看到運行結果。
(6)偵錯工具。通過單擊Window->Open Perspective->Debug開啟調試視圖。
(7)設定斷點和單步運行。設定條件斷點,在累加的左邊單擊滑鼠右鍵,選擇Breakpoint Properties.輸入條件,按F8運行到條件停止。
3、練習:學號後兩位取餘——第1題:實現凱撒密碼,並進行測試
import java.util.Scanner;
public class Caeser {
private String table; // 定義密鑰字母表
private int key; // 定義密鑰key
public Caeser(String table, int key) {
// 根據不同的字母表和不同的密鑰產生一個新的凱撒演算法,達到通用的目的
super();
this.table = table;
this.key = key;
}
public String encrypt(String from) {
//凱撒密碼編譯演算法,傳入明文字串,返回一個密文字串
String to = "";
for (int i = 0; i < from.length(); i++) {
to += table.charAt((table.indexOf(from.charAt(i))+key)%table.length());
}
return to;
}
public static void main(String[] args) {
Caeser caeser = new Caeser("abcdefghijklmnopqrstuvwxyz", 3);
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入要加密的字串");
String str =scanner.nextLine(); //輸入字串
String result = caeser.encrypt(str); //調用加密方法進行加密
System.out.print(result); // 可得結果
}
}
二、實驗分析
1、我的PSP時間
步驟 耗時 百分比
需求分析 5 10%
設計 5 10%
代碼實現 10 20%
測試 20 40%
分析總結 10 20%
三、實驗感想
本次實驗是第一次使用實驗樓、虛擬機器和Linux環境。實驗中的步驟非常詳細,根據老師設定的實驗步驟一步一步做完實驗。但也遇到了很多問題:Linux命令列操作不熟練。在這次實驗中,基本掌握了建立目錄(mkdir)、查看目錄(ls或dir)、進入目錄(cd與Windows相同)和查看當前工作路徑(pwd)的使用方法。編譯一個.java檔案格式:javac -d . 類名.java (注意:d後面那一個點的前後都有空格)運行檔案格式:java 包名.類名。在eclipse中輸入老師所給代碼之後一直無法編譯成功,反覆核對,發現是在建立包的時候勾選了自動產生main函數,而我在寫代碼的時候自己又多敲了一個大括弧,導致一直顯示錯誤無法編譯。
通過此次實驗,更加瞭解了Linux環境,學會了如何調試出代碼的錯誤、設斷點、單步運行、改變單步運行效率以及一些快速鍵的使用。收穫頗多,今後將勤加練習,希望做得更好。
JAVA開發環境的熟悉