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 ...
随机推荐
- Android 开发技巧 - Android 6.0 以上权限大坑和权限检查基类封装
简单介绍 关于运行时权限的说法,早在Google发布android 6.0的时候,大家也听得蛮多的.从用户的角度来讲,用户是受益方,更好的保护用户的意思,而对于开发者来说,无疑增加了工作量. 对于6. ...
- sql的优化相关问题
这篇文章写的真心不错,值得仔细拜读,所以将其转载过来了. 一. 分析阶段 一 般来说,在系统分析阶段往往有太多需要关注的地方,系统各种功能性.可用性.可靠性.安全性需求往往吸引 ...
- 一分钟可知css3版大白源码
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- Angularjs调用公共方法与共享数据
这个问题场景是在使用ionic开发页面的过程中发现,多个页面对应的多个controller如何去调用公共方法,比如给ionic引入了toast插件,如何将这个插件的调用变成公共方法或者设置成工具类,因 ...
- android SDK 更新问题完美解决 http://dl-ssl.google.com refused
现在由于GWF,google基本和咱们说咱见了,就给现在在做Android 或者想学习Android 的朋友带来了诸多的不便,最简单的就是Android SDK Manager 你无法更新了. 现在 ...
- NYOJ题目916胖子小的百宝袋
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAsQAAAL6CAIAAAC+R9cJAAAgAElEQVR4nOydO5LcvM6GzyYmn4U47o
- Pyqt 时时CPU使用情况
借鉴代码来自:https://github.com/hgoldfish/quickpanel 实现代码: # -*- coding:utf-8 -*- from __future__ import p ...
- Jquery自定义扩展方法(二)--HTML日历控件
一.概述 研究了上节的Jquery自定义扩展方法,自己一直想做用jquery写一个小的插件,工作中也用到了用JQuery的日历插件,自己琢磨着去造个轮子--HTML5手机网页日历控件,废话不多说,先看 ...
- Windows 历史
- HR外包系统 - 工资计算-几种常见账单计算规则
01-正常工资计税 (包括同一月多地计税方式) 02-年终奖计税 (包括可分批发放,但计税总额不变) 按工资 除以月份,看落在那个计税区间,获取税率和扣除数,再用总额*税率-扣除数,要考虑当月工资如 ...