20145223《Java程序程序设计》实验一实验报告

实验一 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%

实验总结和心得体会

这次的实验题目一开始我觉得很难,怎么实现一个学生成绩管理系统呢?我仔细分析了一下这个实验题目,发现实际上就是要求我们用所学的知识,分别去解决几个方面的问题。我的实验设计包括了多名学生名字的输入、存储、以及各项成绩的输入存储,最后计算各个学生的平均分和总分,在此基础上又加上了排序的内容将学生成绩进行了一个排名。这么一分析,我觉得其实这些内容其实并不难,在我现有的能力基础之上都可以解决。
总的来说,这次实验的解题思路还是比较清晰的,并没有碰到什么大的问题。但是我觉得我的实验设计还可以进一步提高,比如增加一些查找、删改之类的新功能,甚至还能将程序做的更加人性化。不管怎么样,只有自己不断尝试新的东西,才能不断提高自己。

posted @ 2016-04-10 21:27  145223  阅读(6292)  评论(1编辑  收藏  举报