实验报告成品1文档格式.docx
- 文档编号:22842194
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:39
- 大小:112.40KB
实验报告成品1文档格式.docx
《实验报告成品1文档格式.docx》由会员分享,可在线阅读,更多相关《实验报告成品1文档格式.docx(39页珍藏版)》请在冰豆网上搜索。
getVolume():
float
printVolume():
5、实验过程或源代码:
1.//源文件:
HelloJava.java
publicclassHelloJava{//主类HelloJava的声明和定义
publicstaticvoidmain(Stringargs[])
{//主方法main的声明和定义
System.out.println("
欢迎你学习Java语言!
"
);
}
}
2.//源文件:
Box.java
importjava.util.Scanner;
//引包语句,引入Scanner类
publicclassBox//主类BoxVolume的声明和定义
{
Boxbox1=newBox();
//用Box类创建一个对象box1
box1.inputInfor();
//给对象发送消息
box1.printVolume();
}
classBox//类Box的声明和定义
{
floatlength,width,height;
//类的属性
voidinputInfor()//类方法inputInfor的声明和定义
{
Scannerscan=newScanner(System.in);
//用Scanner类创建一个对象scan
请输入盒子的长:
//提示输入长
length=scan.nextFloat();
//从键盘接收一个实型数据并赋给length
请输入盒子的宽:
//提示输入宽
width=scan.nextFloat();
//从键盘接收一个实型数据并赋给width
请输入盒子的高:
//提示输入高
height=scan.nextFloat();
//从键盘接收一个实型数据并赋给height
floatgetVolume()//类方法getVolume的声明和定义
returnlength*width*height;
//返回盒子的体积
voidprintVolume()//类方法printVolum的声明和定义
System.out.println("
盒子的体积为:
+getVolume());
//输出盒子的体积
运行结果:
1.输出“您好,欢迎学习Java语言!
2.计算盒子体积
6、实验结论及心得:
1、学会了java环境的安装、环境变量的配置。
2、学会了如何创建一个类,理解了类的构成,知道了长、宽、高是盒子类的属性,输入信息和计算体积是盒子类的方法。
3、掌握了如何用类创建一个对象,以及如何给对象发送消息,理解了面向对象的程序设计=对象+消息。
4、掌握了类“Scanner”的使用方法。
5、以后需要注意的是:
程序中的;
、"
"
、()、[]等必须在英文模式下输入,否则编译器会提示输入了非法字符。
6、Public类的名称必须和文件名一致,否则编译器会提示应在声明为*.java的文件名中声明某个输入错误的公共类。
7、java中严格区分大小写。
8、println()使用时,+的作用是连接字符串和变量。
9、println()和print()的不同之处在于println()在输出后会自动换行而print()不会。
10、使用Scanner时,需要在程序最前面加上引包语句(即:
),否则编译时会出现无法识别Scanner的错误。
11、Scanner、System、String三个英文单词的首字母S大写,因为它们是类名。
实验二Java语言基础训练
1、学习基本数据类型的定义与使用、数组的定义及使用、枚举类型的定义与使用。
2、熟悉Java基本语法,练习使用Java的数据类型、运算符、表达式和控制结构。
(学生成绩管理系统之一)
编写Java程序,定义一个学生类,并编写主类测试该类的功能。
基本要求如下:
1.学生类中包含属性有:
学号、姓名、性别(枚举类型)、一个存放上学期成绩的数组(float)
2.学生类包含的方法有:
信息的录入、信息的输出、输出学生上学期的总分和均分、查找哪门课考了多少分,对考试成绩排序,输出最高分和最低分等;
StuInfor
sex:
enum
classes:
int
number:
i:
int
telnum:
long
name:
String
sum:
grade[4]:
grade1[4]:
arrayCalculate():
getSum():
getAve():
searchScore():
printInfor():
//源文件:
StuInfor.java
importjava.util.Arrays;
//引入Arrays类
enumSex//枚举类型的声明和定义
{
男,女;
publicclassStuInfor
\n--------------------------学生成绩管理系统------------------------"
Studentstu1=newStudent();
stu1.inputInfor();
stu1.arrayCalculate();
stu1.printInfor();
stu1.searchScore();
classStudent//学生类
intclasses,number,i;
//学生类的属性
longtelnum;
//基本数据类型的定义
Stringname;
floatsum,grade[]=newfloat[4],grade1[]=newfloat[4];
Sexsex;
voidinputInfor()//输入信息
\n----------------------------------学生信息录入:
------------------------------"
>
请输入你的姓名:
name=scan.next();
请输入你的性别(0:
男,1:
女):
if(scan.nextInt()==0){
sex=Sex.男;
//引用枚举类型常量“男”
else{
sex=Sex.女;
//引用枚举类型常量“女”
请输入班级:
classes=scan.nextInt();
请输入你的学号:
number=scan.nextInt();
请输入你的电话号码:
telnum=scan.nextLong();
请依次输入你的C,高数,线代,英语成绩:
for(inti=0;
i<
4;
i++){
grade[i]=scan.nextFloat();
//用循环结构给成绩数组中的元素赋值
\n---------------------------------信息输入完成!
voidarrayCalculate()
System.arraycopy(grade,0,grade1,0,grade.length);
//将grade数组中的元素拷贝到grade1数组中
Arrays.sort(grade1);
//将grade1数组排序
floatgetSum()
i++)
sum=sum+grade[i];
//用循环累加器求出sum的值
}
returnsum;
floatgetAve()//考虑到平均分的数据类型,使用float作为其返回值类型
returnsum/4;
//返回平均分的值
voidsearchScore()
\n你想要查找的成绩是:
//查找功能
intnum=scan.nextInt();
intindex=Arrays.binarySearch(grade1,num);
//使用二分法对已经排序后的grade1进行检索,查找想要的分数
if(index>
=0)
System.out.println(num+"
和数组中索引为"
+index+"
的元素的值相同"
//输出分数在数组中对应的索引
else
{//找不到则提示没有这个数组元素与之相等
不与数组中的任何元素值相同"
voidprintInfor()//信息输出
\n----------------------------------该学生基本信息------------------------------"
System.out.printf("
姓名:
%s"
name);
\n性别:
+sex);
\n班级:
%d"
classes);
\n学号:
number);
\n电话:
telnum);
\n你的C,高数,线代,英语成绩依次是:
System.out.println(Arrays.toString(grade));
//使用Arrays类的Arrays.toString()方法输出原数组元素
你的成绩由低到高排序依次是:
//使用Arrays类的Arrays.toString()方法输出排序后的数组元素
System.out.println(Arrays.toString(grade1));
其中最高分为:
+grade1[3]+"
最低分为:
+grade1[0]);
总分:
%.2f"
getSum());
\n均分:
getAve());
1、学会了如何定义和使用基本数据类型。
2、掌握了数组的定义及使用方法,包括数组的声明和创建方法以及给数组元素赋值的方法。
3、掌握了枚举类型的定义与使用方法,明白了枚举类型的用途和使用意义。
4、掌握了java的命名规则,主要有以下几点:
◎类名首字母大写,如果是多个单词,每个单词首字母大写。
◎方法名首字母小写,如果由多个单词构成,除第一个外,每个单词首字母大写。
◎方法命名要使用动+宾结构,要做到见名知意。
◎方法名和变量名必须是合法标识符,不能是关键字。
5、明白了printf()、println()、print()三种输出方法之间的区别:
◎printf()用于格式输出,可以控制输出格式,使输出美观。
◎println()在输出后会自动换行,但不能实现格式控制输出。
◎print()既不能控制输出格式也不会自动换行。
6、使用二分法时,操作的数组一定是经过排序的,否则会得到错误的结果。
如果数组中有两个数值相同的元素,二分法查找该元素只会返回找到的第一个元素的索引。
7、以后定义基本的数据类型时必须注意:
◎密切关注数据值的大小:
a.如果涉及到数据值过大,比如计算阶乘,计算累乘,保存手机号(11位数)等等,需要根据范围选择取值范围大的数据类型。
如果值的超过了定义的数据类型的范围,就有可能发生错误。
b.如果数据值较小,可以考虑使用取值范围较小的数据类型,以便节约内存空间。
◎如果表达式涉及除法操作,一定要定义为浮点型。
8、使用数组时要注意循环条件的控制,java对数组边界经行检查,一旦发现数组越界,就有会发生数组越界异常(IndexOutOfBoundsException)。
使用自减时也要注意循环条件的控制,一旦数组索引为负数会引发负值索引异常(NegativeException);
实验三面向对象基础程序设计
1、掌握类的定义、属性、方法、及相关语法规则。
2、掌握构造函数的编写、类成员的使用、深入理解类的抽象和封装。
(学生成绩管理系统之二)
在实验二的基础上,如果想记录每个学生每学期的成绩,应该继续抽象哪些类出来,它们之间的关系是什么?
请编程实现。
(scoreschedule)
Student
score:
Score
Schedule
Semester:
byte
courseNum:
course[]:
String
printInfor():
score[]:
score1[]:
schedule:
Schedule
arrayCalculate():
getSum():
getAve():
searchScore():
enumSex
{//主类的声明和定义
publicstaticvoidmain(Stringargs[])//主方法的声明和定义
\n--------------------------中北大学学生成绩管理系统2------------------------"
//用学生类创建对象stu1
//调用学生类中输入信息的方法
//调用学生类中输出信息的方法
classStudent//学生类的声明和定义
Scorescore;
//声明对象score
voidinputInfor()//信息输出方法的声明和定义
if(scan.nextInt()==0)
{sex=Sex.男;
else
{sex=Sex.女;
score=newScore();
//调用score中的构造方法创建对象score
voidprintInfor()//信息输出方法的声明和定义
%d\n"
score.printInfor();
classSchedule//课程时间表类的声明和定义
bytesemester,courseNum;
Stringcourse[];
//课程时间表类的属性
publicSchedule()//Schedule类构造方法的声明和定义
//用Scanner类创建一个对象scan
本学期是第几学期,请输入数字"
semester=scan.nextByte();
//用scan调用Scanner类的nextByte()方法给semester赋值
本学期共有几门课,请输入数字"
courseNum=scan.nextByte();
//用scan调用Scanner类的nextByte()方法给courseNum赋值
course=newString[courseNum];
for(bytei=0;
courseNum;
i++)
请输入第"
+semester+"
学期开设的第"
+(i+1)+"
门课程,并按Enter结束"
course[i]=scan.next();
//用scan调用Scanner类的next()方法循环为course[]的元素赋值
第"
学期开设的课程如下:
+Arrays.toString(course));
classScore//Score类的声明及定义
floatsum,score[],score1[];
Scheduleschedule;
//声明一个对象schedule
publicScore()//Score类的构造方法
schedule=newSchedule();
//创建对象schedule
score=newfloat[schedule.courseNum];
schedule.courseNum;
请输入你的"
+schedu
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 报告 成品
![提示](https://static.bdocx.com/images/bang_tan.gif)