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 ...
随机推荐
- 【编程之美】2.5 寻找最大的k个数
有若干个互不相等的无序的数,怎么选出其中最大的k个数. 我自己的方案:因为学过找第k大数的O(N)算法,所以第一反应就是找第K大的数.然后把所有大于等于第k大的数取出来. 写这个知道算法的代码都花了2 ...
- 【python】time,datetime,string相互转换
来源:http://essen.iteye.com/blog/1452098 #把datetime转成字符串 def datetime_toString(dt): return dt.strftime ...
- sqlserver 动态行转列
DECLARE @SQL VARCHAR(8000)SET @SQL = 'select overcode 'SELECT @SQL = @SQL + ' , max(case header when ...
- 甲鱼od18篇笔记
模态对话框和非模态对话框 一:模态对话框是调用DialogBoxParam API 函数来实现的 二:非模态对话框是调用Crea ...
- php面向对象中的静态与抽象,接口
静态又包括: 普通成员: 普通成员是属于对象的 静态成员: 静态成员是属于类的 关键字:static self关键字:在类里面代表该类,前面不用加$ 在静态方法里面不能调用普通成员 在普通方法里面能够 ...
- 定时器(NSTimer)
iOS中定时器NSTimer的使用 1.初始化 + (NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget sel ...
- Linux进程的前后台切换
一.Linux前后台切换的相关命令: 1.& 在命令的后面加上这个符合,让命令进程在后台运行 例如: #ping 127.0.0.1 & // 此时命令ping ...
- Javaweb---Servlet过滤器
Servlet过滤器从字面上的字意理解为景观一层次的过滤处理才达到使用的要求,而其实Servlet过滤器就是服务器与客户端请求与响应的中间层组件,在实际项目开发中Servlet过滤器主要用于对浏览器的 ...
- 二、JavaScript语言--JS基础--JavaScript进阶篇--选项卡切换效果
利用JavaScript知识,实现选项卡切换的效果. 效果图: 文字素材: 房产: 275万购昌平邻铁三居 总价20万买一居 200万内购五环三居 140万安家东三环 北京首现零首付楼 ...
- const和#define 区别
1: 编译器处理不同 define宏是在预处理阶段展开,const常量是编译运行阶段使用. 2:类型和安全检查不同 const常量有数据类型,而宏常量没有数据类型,仅仅是展开.编译器可以对前者 ...