實驗一 Java開發環境的熟悉(Windows + IDE)
實驗內容
1.使用JDK編譯、執行簡單的Java程式;
2.使用IDE 編輯、編譯、執行、除錯Java程式。
實驗步驟
(一)命令列下Java程式開發
(1)首先開啟cmd(Windows系統下),然後輸入cd\workpace進入到workspace。
(2)輸入md 20145223建立一個目錄名為自己學號的實驗目錄,再輸入cd 20145223進入到實驗目錄中。
(3)在此目錄下輸入cd exp1建立實驗1目錄,並且輸入cd exp1進入
(4)將實現寫好的程式碼儲存到exp1後,使用javac HelloJava.java編譯程式碼
(5)編譯完後,再使用java HelloJava 執行程式碼
(二)IDE下Java程式開發、編譯、執行、除錯
(1)建立一個九九乘法表的專案
(2)實驗程式碼:
package 九九乘法;
public class 九九乘法 {
public static void main(String[] args) {
for(int i=1;i<10;i++)
{
for(int j=1;j<10;j++)
{
if(i>=j){
System.out.printf("%d*%d=%2d ",j,i,i*j);
}
}
System.out.printf("%n");
}
}
}
(3)程式碼除錯
·當你的程式碼出現錯誤,Netbeans會在出現錯誤的程式碼最左端給你提示,並且告訴你出現的錯誤是什麼
(4)執行程式結果:
練習
在netbeans下實現學生成績管理功能,並進行測試。
·實驗程式碼如下:
package 學生成績管理系統;
import java.util.Scanner;
public class 學生成績管理系統 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("請輸入學生的人數:");
int number; //學生的人數
number=input.nextInt();
System.out.println("請輸入課程的數目:");
int courses; //課程的數目
courses=input.nextInt();
String [] coursesname=new String[courses]; //課程的名字
for(int i=0;i<coursesname.length;i++)
{
System.out.println("請輸入第"+(i+1)+"門課的名字:");
coursesname[i]=input.next();
}
String [] name=new String[number]; //學生的名字
int [][] score=new int[number][courses]; //學生的科目成績,二維陣列
for(int i=0;i<name.length;i++)
{
System.out.println("請輸入第"+(i+1)+"個學生的名字:");
name[i]=input.next();
for(int j=0;j<coursesname.length;j++)
{
System.out.println("請輸入"+name[i]+coursesname[j]+"的成績:");
score[i][j]=input.nextInt(); }
}
int sum=0;//每個學生的成績總分
int avg=0;//每個學生的平均分
int [] scoreSum=new int [number];
int [] ci=new int[number];//學生的名次
for(int i=0;i<number;i++)
{ for(int j=0;j<courses;j++)
{ sum+=score[i][j];
} scoreSum[i]=sum;
ci[i]=sum;
sum=0;
}
for(int i=0;i<number-1;i++)
{
for(int j=i+1;j<number;j++)
{
if(ci[i]<ci[j])
{
int temp=ci[j];
ci[j]=ci[i];
ci[i]=temp;
}
}
}
System.out.print("學生\t");
for(int i=0;i<courses;i++)
{
System.out.print(coursesname[i]+"\t");
} System.out.print("總分\t");
System.out.print("平均分\t");
System.out.print("排行榜");
System.out.print("\n");
int[] temp=new int[number];
for(int i=0;i<temp.length;i++)
{
for(int j=0;j<scoreSum.length;j++)
{
if(ci[i]==scoreSum[j])
{
temp[i]=j;
}
}
}
for(int i=0;i<number;i++)
{
System.out.print(name[temp[i]]+"\t");
for(int j=0;j<courses;j++)
{
System.out.print(score[temp[i]][j]+"\t");
}
System.out.print(scoreSum[temp[i]]+"\t");
System.out.print((scoreSum[temp[i]]/courses)+"\t");
System.out.print("第"+(i+1)+"名");
System.out.print("\n");
}
}
}
·執行過程:
(1)按照步驟,先輸入學生人數,課程門數,再依次輸入每個學生的姓名,每門課程的成績
(2)輸入所有的資料之後,執行的結果如下:
實驗的PSP(Personal Software Process)時間:
步驟 | 耗時 | 百分比 |
---|---|---|
需求分析 | 1h | 20% |
設計 | 1h | 20% |
程式碼實現 | 2h | 40% |
測試 | 95min | 15% |
分析總結 | 15min | 5% |
實驗總結和心得體會
這次的實驗題目一開始我覺得很難,怎麼實現一個學生成績管理系統呢?我仔細分析了一下這個實驗題目,發現實際上就是要求我們用所學的知識,分別去解決幾個方面的問題。我的實驗設計包括了多名學生名字的輸入、儲存、以及各項成績的輸入儲存,最後計算各個學生的平均分和總分,在此基礎上又加上了排序的內容將學生成績進行了一個排名。這麼一分析,我覺得其實這些內容其實並不難,在我現有的能力基礎之上都可以解決。
總的來說,這次實驗的解題思路還是比較清晰的,並沒有碰到什麼大的問題。但是我覺得我的實驗設計還可以進一步提高,比如增加一些查詢、刪改之類的新功能,甚至還能將程式做的更加人性化。不管怎麼樣,只有自己不斷嘗試新的東西,才能不斷提高自己。