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% |
实验总结和心得体会
这次的实验题目一开始我觉得很难,怎么实现一个学生成绩管理系统呢?我仔细分析了一下这个实验题目,发现实际上就是要求我们用所学的知识,分别去解决几个方面的问题。我的实验设计包括了多名学生名字的输入、存储、以及各项成绩的输入存储,最后计算各个学生的平均分和总分,在此基础上又加上了排序的内容将学生成绩进行了一个排名。这么一分析,我觉得其实这些内容其实并不难,在我现有的能力基础之上都可以解决。
总的来说,这次实验的解题思路还是比较清晰的,并没有碰到什么大的问题。但是我觉得我的实验设计还可以进一步提高,比如增加一些查找、删改之类的新功能,甚至还能将程序做的更加人性化。不管怎么样,只有自己不断尝试新的东西,才能不断提高自己。
20145223《Java程序程序设计》实验一实验报告的更多相关文章
- 20145223《Java程序程序设计》课程总结
20145223<Java程序程序设计>课程总结 每周读书笔记链接汇总 第一周学习总结 第二周学习总结 第三周学习总结 第四周学习总结 第五周学习总结 第六周学习总结 第七周学习总结 第八 ...
- 20145212《Java程序程序设计》课程总结
20145212<Java程序程序设计>课程总结 一.每周读书笔记链接汇总 第一周读书笔记 第二周读书笔记 第三周读书笔记 第四周读书笔记 第五周读书笔记 第六周读书笔记 第七周读书笔记 ...
- 20145223《Java程序程序设计》实验报告二
实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验步骤 (一)单元测试 ...
- 20145223《Java程序程序设计》第1周学习总结
20145223 <Java程序设计>第1周学习总结 教材学习内容总结 1.JDK.JRE以及JVM的区别 JDK:撰写java程序语言的时候需要用到的编译工具 JRE:java执行环境 ...
- 20145223《Java程序程序设计》实验报告5
20145223杨梦云<Java网络编程> 一.实验内容 ·1.运行下载的TCP代码,结对进行,一人服务器,一人客户端: ·2.利用加解密代码包,编译运行代码,一人加密,一人解密: ·3. ...
- 20145223 《Java程序程序设计》实验报告4
20145223杨梦云Java实验四<Andoid开发基础> 实验内容 安装Android Studio 运行安卓AVD模拟器 使用Android运行出模拟手机并显示自己的学号 实验步骤 ...
- 20145223《Java程序程序设计》第8周学习总结
20145223 <Java程序设计>第8周学习总结 教材学习内容总结 第十四章 NIO与NIO2 ·NIO使用频道(Channel)来衔接数据节点,在处理数据时,NIO可以让你设定缓冲区 ...
- 《Java语言程序设计》上机实验
实验一 Java环境演练 [目的] ①安装并配置Java运行开发环境: ②掌握开发Java应用程序的3个步骤:编写源文件.编译源文件和运行应用程序: ③学习同时编译多个Java源文件. [内容 ...
- 20145223《Java程序程序设计》第9周学习总结
20145223<Java程序设计>第9周学习总结 教材学习内容总结 第十六章:整合数据库 JDBC入门 1.JDBC简介: 2.JDBC主要分成两个部分,JDBC应用程序开发者接口和JD ...
随机推荐
- 【leetcode】Gray Code (middle)
The gray code is a binary numeral system where two successive values differ in only one bit. Given a ...
- 【编程题目】有两个序列 a,b,大小都为 n,序列元素的值任意整数,无序;(需要回头仔细研究)
32.(数组.规划)有两个序列 a,b,大小都为 n,序列元素的值任意整数,无序:要求:通过交换 a,b 中的元素,使[序列 a 元素的和]与[序列 b 元素的和]之间的差最小.例如: var a=[ ...
- 51nod 1070 Bash游戏 V4 (斐波那契博弈)
题目:传送门. 有一堆个数为n(n>=2)的石子,游戏双方轮流取石子,规则如下: 1)先手不能在第一次把所有的石子取完,至少取1颗: 2)之后每次可以取的石子数至少为1,至多为对手刚取的石子数的 ...
- 解决sqlite3_key的问题
报错内容显示如下: ld: warning: ignoring file /Users/rowling/Library/Developer/Xcode/DerivedData/zhinengbango ...
- C语言中一个替换 strcpy的极好的方法
在C语言中有个方法:strcpy() 使用时经常容易内存申请不足,或是没有申请内存导致,复制的时候报错,我新写了一个方法,弥补这个缺陷 char *strcpy1(char *strDes, char ...
- python以指定宽度及格式输出字符串
- 【转】JQuery插件ajaxFileUpload 异步上传文件(PHP版)
前几天想在手机端做个异步上传图片的功能,平时用的比较多的JQuery图片上传插件是Uploadify这个插件,效果很不错,但是由于手机不支持flash,所以不得不再找一个文件上传插件来用了.后来发现a ...
- 【翻译四】java-并发之线程暂停
Pausing Execution with Sleep Thread.sleep causes the current thread to suspend execution for a speci ...
- 【Java EE 学习 21 上】【其它类型的监听器】【使用HttpSessionActivationListener监听session的活化和钝化】
一.ServletContextListener Method Summary void contextDestroyed(ServletContextEvent sce) R ...
- java中文乱码解决方法汇总
public static void main(String[] argv){ try { System.out.println(“中文”);//1 ...