java程序设计实验报告册_20145215《Java程序设计》实验一实验报告
實驗一 Java開發環境的熟悉
實驗內容及步驟
使用JDK編譯、運行簡單的Java程序
命令行下程序開發:
在命令行下建立實驗目錄,進入該目錄后創建exp1目錄
敲入以下代碼:
package exp1;
import java.util.Scanner;
public class Hello{
public static void main(String[] args){
System.out.println("Input your first name, please:");
Scanner s = new Scanner(System.in);
String name = s.next();
System.out.println("Hello " + name + " !");
}
}
將Hello.java代碼保存到exp1目錄后,用命令行編譯運行通過
使用IDEA編輯、編譯、運行、調試Java程序
創建HelloJDB文件,輸入下面代碼:
package exp1;
public class HelloJDB {
public static void main(String[] args) {
int i = 5;
int j = 6;
int sum = add(i, j);
System.out.println(sum);
sum = 0;
for(i=0; i< 100; i++)
sum += i;
System.out.println(sum);
}
public static int add(int augend, int addend){
int sum = augend + addend;
return sum;
}
}
編譯運行結果如下:
IDEA的斷點設置比較簡單,如果你想在某行代碼處設置斷點,只需在該行代碼的最左端鼠標左鍵點一下即可:
接著使用Debug進行調試,代碼運行到第14行停止:
練習-1
實現凱撒密碼,并進行測試
實現凱撒密碼代碼如下:
package exp1;
import java.io.*;
public class Caesar{
public static void main(String[] args){
String s="";
int k=0;
char a[];
System.out.print( "請問:需要加密(0)or解密(1):" );
s=input();
k=Integer.parseInt(s);
if(k==0){
System.out.print("請輸入你需要加密的密鑰(K):");
s=input();
k=Integer.parseInt(s);
System.out.print( "請輸入你需要加密的明文(a-z):" );
s=input();
a=s.toCharArray();
System.out.println("加密成功!!");
System.out.print("密文是:");
int i=0;
while(i
if(a[i]==' '){
System.out.print(' ');
i++;
continue;
}
if(a[i]>='a'&&a[i]<='z') {
System.out.print((char) ((a[i] + k - 'a') % 26 + 'a'));
}
i++;
}
}
else{
System.out.print("請輸入你需要解密的密鑰(K):");
s=input();
k=Integer.parseInt(s);
System.out.print( "請輸入你需要解密的密文(a-z):");
s=input();
a=s.toCharArray();
System.out.println( "解密成功!!" );
System.out.print("明文是:");
int i=0;
while(i
if(a[i]==' '){
System.out.print(' ');
i++;
continue;
}
if(a[i]>='a'&&a[i]<='z') {
System.out.print((char) ((a[i] - k - 'a' + 26) % 26 + 'a'));
}
i++;
}
}
}
public static String input(){
String s="";
try{
BufferedReader in =new BufferedReader(new InputStreamReader(System.in));
s=in.readLine();
}
catch(IOException e){}
return s;
}
}
運行結果如下:
設計過程
凱撒密碼實質就是移位密碼,密鑰為3,而字符在計算機中的存儲都是以ASCII碼的形式存儲的,所以只要在用戶輸入的字符串每位加3便能得加密到一串密文,解密的過程也與這類似,這兩點都是比較好實現的。關鍵在于要取得用戶輸入的字符串,在之前的學習中我們學過用Scanner讓用戶輸入字符,而在本周的學習中又學習了IO流的輸入輸出,因此為了檢驗自己對新的知識的掌握程度,我決定用IO流來讓用戶輸入,再將字符串轉換成字符數組,這樣操作起來便方便了許多。最終我在原來的凱撒密碼的基礎上進行了改進,讓用戶自己輸入密鑰,并且成功實現了加解密的功能。
PSP時間
步驟
耗時
百分比
需求分析
20min
13.8%
設計
30min
20.7%
代碼實現
60min
41.4%
測試
15min
10.3%
分析總結
20min
13.8%
心得體會
第一次做Java實驗,總體來講過程還是比較順利,題目也相對比較簡單。我覺得做實驗的時候,首先應該保持自己的思路清晰,心中要有個大概的框架,知道自己應該分幾步去做,哪些地方容易實現,難點在哪。接下來就是攻破難點,通過教材或者百度解決自己的問題所在,當難點解決之后,這個實驗基本就成功一大半了,剩下的問題可能就是自己在編譯過程中的粗心所導致的一些小問題,這些都比較容易解決。此外,我們以后在編代碼的時候要盡量模塊化,這樣能使得代碼的可讀性較強,修改起來也比較容易,不要把所有代碼都寫到一個main()函數里。
20145330《Java程序設計》第一次實驗報告
20145330第一次實驗報告 實驗一Java開發環境的熟悉 實驗內容 1.使用JDK編譯.運行簡單的Java程序: 2.使用Eclipse 編輯.編譯.運行.調試Ja ...
20145320《Java程序設計》第一次實驗報告
20145320第一次實驗報告 北京電子科技學院(BESTI)實驗報告 課程:Java程序設計 班級:1453 指導教師:婁嘉鵬 實驗日期:2016.04.08 18: ...
20145317彭垚 《Java程序設計》第一次實驗實驗報告
20145317彭垚 第一次實驗實驗報告 北京電子科技學院(BESTI)實驗報告 課程:Java程序設計 班級:1453 指導教師:婁嘉鵬 實驗名稱:Java開發環境的 ...
20155339《java程序設計》第一次實驗報告
20155339第一次實驗報告 實驗一 java開發環境的熟悉 實驗內容 1.使用JDK編譯.運行簡單的java程序: 2.使用IDEA編輯.編譯.運行.調試java程 ...
20144303 《Java程序設計》第一次實驗實驗報告
20144303 第一次實驗實驗報告 北京電子科技學院(besti)實驗報告 課程:java程序設計 班級:1453 指導教師:婁嘉鵬 實驗日期:2016.04.08 ...
20145240 《Java程序設計》第一次實驗報告
20145240 第一次實驗報告 實驗內容 一.命令行下java程序開發 1.建立Code目錄,輸入mkdir 20145240命令建立實驗目錄,并使用dir命令查看目 ...
《Java程序設計》課程實驗要求
目錄 課程實驗要求 注冊實驗樓賬號 實驗一 Java開發環境的熟悉 實驗二 實驗三 實驗四 ...
20145127《java程序設計》第一次實驗
第一次實驗 實驗內容及其步驟 1.使用JDK編寫簡單的Java小程序: Java編譯的方法有很多,最基礎最簡單的就是使用命令行,記事本,Java虛擬機直接進行編譯,下面 ...
#《JAVA程序設計》 20155214 實驗五 網絡編程與安全
20155214 實驗五 網絡編程與安全 實驗內容 掌握Socket程序的編寫: 掌握密碼技術的使用: 設計安全傳輸系統. 實驗要求 要求一 結對實現中綴表達式轉后綴 ...
《JAVA程序設計》 20155208 實驗四 Android程序設計
20155208 實驗四 Android程序設計 實驗一: 實驗要求: Android Stuidio的安裝測試: 參考
隨機推薦
Linux任務計劃
Linux任務計劃: 一次性任務執行(at.batch): at:定時任務,指定一個時間執行一個任務,只能執行一次. at使用方式: 交互式:讓用戶在at>提示符輸入多個要執行的命令: 批處理: ...
Android http超時選項的測試
Android通過HttpConnectionParams類為http參數設置提供了兩個超時的設置選項,分別是setSoTimeout和setConnectionTimeout.初看一眼Android ...
Xcode UIView 中的Button 控件的屬性和基本用法
//第一種創建UIButton的方法 //initWhitFrame: UIButton *button = [[UIButton alloc]initWithFrame:CGRectMake(1 ...
iOS頁面傳值方式
普遍傳值方式如下: 1.委托delegate方式: 2.通知notification方式: 3.block方式: 4.UserDefault或者文件方式: 5.單例模式方式: 6.通過設置屬性,實現頁 ...
xcode 樹形管理 cocos2d-x的資源
把資源以目錄的形式加入xcode中, 同時, 在加入時, 選擇"Create Folder References for any??added folders", 而不是默認的&q ...
TransactionScope簡單用法
記錄TransactionScope簡單用法,示例如下: void Test() { using (TransactionScope scope = new TransactionScope()) { ...
DB2中的系統表SYSIBM.SYSDUMMY1
ORACLE中有一張系統數據庫表DUAL用來訪問系統的相關信息 SELECT SYSDATE FROM DUAL;? --返回當前系統日期 ------------------------------ ...
《JavaScript高級程序設計》讀書筆記 ---數據類型
ECMAScript 中有5 種簡單數據類型(也稱為基本數據類型):Undefined.Null.Boolean.Number.String和Object——復雜數據類型,Object 本質上是由一組 ...
Linux、docker、kubernetes、MySql、Shell、kafka、RabbitMQ運維快餐
檢查端口占用 lsof -i:[port] netstat -anp |grep [port] 監控網絡客戶TCP連接數 netstat -anp | grep tcp |wc -l 獲取某進程中運行 ...
GIT 使用cherry-pick 重演其他分支的提交
在使用Git時是否會遇到這樣的問題: 你正在使用Git進行版本控制,某天你接著昨天的工作了提交了N個提交,結果在合并遠程分支的時候才發現原來你在工作之前沒有注意到你要提交的分支狀態 結果導致你本來要提 ...
總結
以上是生活随笔為你收集整理的java程序设计实验报告册_20145215《Java程序设计》实验一实验报告的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python unittest生成htm
- 下一篇: [题解]Codeforces Round