Java实验.docx
- 文档编号:4008793
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:8
- 大小:17.67KB
Java实验.docx
《Java实验.docx》由会员分享,可在线阅读,更多相关《Java实验.docx(8页珍藏版)》请在冰豆网上搜索。
Java实验
Java实验
学生实验报告册
20222022学年第2学期
姓名:
学号:
年级专业:
课程名称:
任课教师:
成绩:
实验一一个简单的应用程序
一、实验目的
本实验的目的是让学生掌握开发Java应用程序的三个步骤:
编写源文件、编译源文件和运行应用程序。
二、实验要求
编写一个简单的Java应用程序,该程序在命令行窗口输出文字:
“你好,欢迎学习Java!
”,并换行输出自己的姓名和学号。
三、程序源代码Hello.java
publicclaHello{
publictaticvoidmain(String[]arg){
Sytem.out.println(\你好,欢迎学习Java!
\
【代码1】//命令行输出“自己的姓名”【代码2】//命令行输出“自己的学号”}}
四、实验结果
五、教师评语
实验二联合编译
一、实验目的
本实验的目的是学习同时编译多个Java源文件。
二、实验要求
编写4个源文件:
MainCla.java、A.java、B.java和C.java,每个源文件只有一个类。
其中MainCla.java含有应用程序的主类(含有main()方法),并使用了A、B、C三个类。
将4个源文件保存在同一个目录中。
例如D:
\\java,然后编译MainCla.java。
三、程序源代码MainCla.java
publicclaMainCla{
publictaticvoidmain(String[]arg){
【代码1】//命令行窗口输出“你好,只需编译我。
”
Aa=newA();
a.fA();
Bb=newB();b.fB();
}}
publicclaA{voidfA(){
【代码2】//命令行窗口输出“我是类A”
}}
publicclaB{voidfB(){
【代码3】//命令行窗口输出“我是类B”
}}
publicclaC{voidfC(){
【代码4】//命令行窗口输出“我是类C”
}}
四、实验结果
五、教师评语
实验三输出希腊字母表
一、实验目的
本实验的目的是让学生掌握char型数据和int型数据之间的互相转换,同时了解Unicode字符表。
二、实验要求
编写一个Java应用程序,该程序在命令行窗口输出希腊字母表。
三、程序源代码GreekAlphabet.java
publicclaGreekAlphabet{
publictaticvoidmain(String[]arg){inttartPoition=0,endPoition=0;charcStart='α',cEnd='ω';
【代码1】//cStart做int型转换运算,并将结果赋值给tartPoition【代码2】//cEnd做int型转换运算,并将结果赋值给endPoition
Sytem.out.println(\希腊字母\\'α\\'在unicode表中的顺序位置:
\Sytem.out.println(\希腊字母表:
\
for(inti=tartPoition;i<=endPoition;i++){
charc='\\0';
【代码3】//i做char型转换运算,并将结果赋值给cSytem.out.print(\
if((i-tartPoition+1)==0)Sytem.out.println(\}
Sytem.out.prinln(“自己的名字”)}}
四、实验结果
五、教师评语
实验四数组的引用与元素
一、实验目的
本实验的目的是让学生掌握数组属于引用型的一种复合型数据类型。
二、实验要求
编写一个Java应用程序,该程序在命令行窗口输出数组的引用以及元素的值。
三、程序源代码IntputArray.java
publicclaIntputArray{
publictaticvoidmain(String[]arg){inta[]={100,200,300};
【代码1】//输出数组a的长度【代码2】//输出数组a的引用
intb[][]={{1},{1,1},{1,2,1},{1,3,3,1},{1,4,6,4,1}};【代码3】//输出二维数组b的一维数组的个数Sytem.out.println(b[4][2]);
【代码4】//将数组a的引用赋值给b[4]Sytem.out.println((b[4][2]));}}
四、实验结果
五、教师评语
实验五回文数
一、实验目的
本实验的目的是让学生掌握使用if-eleif-ele多分支语句。
二、实验要求
编写一个java应用程序。
用户从键盘输入一个1-9999之间的数,程序将判断这个数是几位数,并判断这个数是否回文数。
回文数是指将数含有的数字逆序排列后得到的数和原数相同,例如12121,4224,6778776等都是回文数。
1)程序具有判断用户的输入是否为合法整数的功能。
对非法输入(例如含有字母)要进行处理。
2)要判断输入数的位数,并输出相关信息。
3)要判断是否回文数。
三、程序源代码
PalindromicNumber.java
Importjava.util.Scanner;
publicclaPalindromicNumber{
publictaticvoidmain(String[]arg){
intnumber=0,d1,d2,d3,d4,d5;
Scannerreader=newScanner(Sytem.in);
Sytem.out.println(\输入一个1至99999之间的数:
\number=reader.ne某tInt();
if(【代码1】){//计算number在1至99999之间的条件【代码2】//计算number的最高位(万位),并赋值给d5【代码3】//计算number的千位,并赋值给d4【代码4】//计算number的百位,并赋值给d3d2=number0/10;d1=number;
if(【代码5】){//判断number是5位数的条件Sytem.out.println(number+\是5位数\
if(【代码6】){//判断number是回文数的条件Sytem.out.println(number+\是回文数\}ele{
Sytem.out.println(number+\不是回文数\}}
eleif(代码【7】){//判断number是4位数的条件Sytem.out.println(number+\是4位数\
if(代码【8】){//判断number是回文数的条件Sytem.out.println(number+\是回文数\}ele{
Sytem.out.println(number+\不是回文数\}}
eleif(代码【9】){//判断number是3位数的条件Sytem.out.println(number+\是3位数\
if(代码【10】){//判断number是回文数的条件Sytem.out.println(number+\是回文数\}ele{
Sytem.out.println(number+\不是回文数\}}
eleif(d2!
=0){
Sytem.out.println(number+\是2位数\if(d1==d2){
Sytem.out.println(number+\是回文数\}ele{
Sytem.out.println(number+\不是回文数\}
}
eleif(d1!
=0){
Sytem.out.println(number+\是1位数\Sytem.out.println(number+\是回文数\}
}ele{
Sytem.out.printf(\不在1至99999之间\}}}
四、实验结果
五、教师评语
实验六猜数字游戏
一、实验目的
本实验的目的是让学生使用if-ele分支和while循环语句解决问题。
二、实验要求
编写一个Java应用程序,实现下列功能:
1)程序随机分配给客户一个1~100之间的整数。
2)用户输入自己的猜测。
3)程序返回提示信息,提示信息分别是“猜大了”、“猜小了”或“猜对了”。
三、程序源代码GueNumber.java
importjava.util.Scanner;importjava.util.Random;
publicclaGueNumber{
publictaticvoidmain(String[]arg){
Scannerreader=newScanner(Sytem.in);Random=newRandom();
Sytem.out.println(\给你一个1至100之间的一个整数,请猜出这个数\
intrealNumber=random.ne某tInt(100)+1;//random.ne某tInt(100)是[0,100)中的随机整数intyouGue=0;
Sytem.out.println(\输入您的猜测:
\youGue=reader.ne某tInt();
while(youGue!
=realNumber){//循环条件
if(youGue>realNumber){//猜大了的条件代码Sytem.out.print(\猜大了,再输入你的猜测:
\youGue=reader.ne某tInt();}
eleif(youGue \youGue=reader.ne某tInt();}} Sytem.out.println(\猜对了! \ }} 四、实验结果 五、教师评语 实验七机动车 一、实验目的 本实验的目的是让学生使用类来封装对象的属性和行为。 二、实验要求 编写一个Java应用程序,该程序有两个类: Vehicle(用于刻画机动车)和Uer(主类)。 具体要求如下: 1)Vehicle类有一个double类型的变量peed,用于刻画机动车的速度,一个int类型的变量power用于刻画机动车的功率。 定义了peedUp(int)方法,体现机动车由加速功能。 定义了peedDown()方法,体现机动车由减速功能。 定义了etPower(intp)方法,用于设置机动车的功率。 定义了getPower()方法,用于获取机动车的功率。 可以自己尝试画UML图。 2)在主类Uer的main()方法中用Vehicle类创建对象,并让该对象调用方法设置功率,演示加速和减速功能。 三、程序源代码Vehicle.java publicclaVehicle{ 【代码1】//声明double型变量peed,刻画速度 【代码2】//声明int型变量power,刻画功率voidpeedUp(int){ 【代码3】//将参数的值与成员变量peed的和赋值给成员变量peed} voidpeedDown(intd){ 【代码4】//将成员变量peed与参数d的差赋值给成员变量peed} voidetPower(intp){ 【代码5】//将参数p的值赋值给成员变量power} intgetPower(){ 【代码6】//返回成员变量power的值} doublegetSpeed(){returnpeed;} }Uer.java publicclaUer{ publictaticvoidmain(String[]arg){Vehiclecar1,car2; 【代码7】//使用new运算符和默认的构造方法创建对象car1【代码8】//使用new运算符和默认的构造方法创建对象car2car1.etPower(128);car1.etPower(76); Sytem.out.println(\的功率是: \Sytem.out.println(\的功率是: \ 【代码9】//car1调用peedUp()方法将自己的peed的值增加80【代码10】//car2调用peedUp()方法将自己的peed的值增加100Sytem.out.println(\的速度是: \Sytem.out.println(\的速度是: \car1.peedDown(10);car2.peedDown(20); Sytem.out.println(\目前的速度是: \Sytem.out.println(\目前的速度是: \}} 四、实验结果 五、教师评语 实验八家中的电视 一、实验目的 本实验的目的是让学生掌握对象的组合以及参数传递。 二、实验要求 编写一个Java应用程序,模拟家庭买一台电视,即家庭将电视作为自己的一个成员,即通过调用一个方法将某个电视的引用传递给自己的电视成员。 集体要求如下: 1)有三个源文件: TV.java、Familiy.java和MainCla.java,其中TV.java中的TV类负责创建“电视”对象,Familiy.java中的Familiy类负责创建“家庭”对象,MainCla.java是主类。 2)在主类的main()方法中首先使用TV类创建一个对象heierTV,然后使用Familiy类再创建一个对象zhangSanFamiliy,并将先前TV类的实例heierTV的引用传递给zhangSanFamiliy对象的成员变量homeTV。 三、程序源代码TV.java claTV{ intchannel; voidetChannel(intm){if(m>=1){ channel=m;}} intgetChannel(){returnchannel;} voidhowProgram{witch(channel){ cae1: Sytem.out.println(\综合频道\break; cae2: Sytem.out.println(\经济频道\break; cae3: Sytem.out.println(\文艺频道\break; cae4: Sytem.out.println(\国际频道\break; cae5: Sytem.out.println(\体育频道\break; default: Sytem.out.println(\不能收看\\频道\}}} Familiy.java claFamiliy{TVhomeTV; voidbuyTV(TVtv){ 【代码1】//将参数tv赋值给homeTV} voidremoteControl(intm){homeTV.etChannel(m);} voideeTV(){ homeTV.howProgram();//homeTV调用howProgram()方法}} MainCla.java publicclaMainCla{ publictaticvoidmain(Stringarg[]){TVhaierTV=newTV(); 【代码2】//haierTV调用etChannel(intm),并向参数m传递5Sytem.out.println(\的频道是\.getChannel());FamiliyzhangSanFamiliy=newFamiliy(); 【代码3】//zhangSanfamiliy调用buyTV(TVtv)方法,并将haierTV传递给参数TVSytem.out.println(\开始看电视节目\zhangSanFamiliy.eeTV();intm=2; Sytem.out.println(\将电视更换到\\频道\zhangSanFamiliy.remoteControl(m); Sytem.out.println(\的频道是\.getChannel());Sytem.out.println(\在看电视节目\zhangSanFamiliy.eeTV();}} 四、实验结果 五、教师评语 实验九求方程的根 一、实验目的 本实验的目的是让学生掌握使用package和import语句。 二、实验要求 SquareEquation.java publicclaSquareEquation{doublea,b,c;doubleroot1,root2;booleanboo; publicSquareEquation(doublea,doubleb,doublec){thi.a=a;thi.b=b;thi.c=c;if(a! =0) boo=true;ele boo=fale;} publicvoidgetRoot(){if(boo){ Sytem.out.println(“是一元二次方程”);doubledik=b某b-4某a某c;if(dik>=0){ root1=(-b+Math.qrt(dik))/(2某a);root1=(-b-Math.qrt(dik))/(2某a); Sytem.out.printf(“方程的根: %f,%f\\n”,root1,root2);}ele{ Sytem.out.printf(“方程没有实根、\\n”);}}ele{ Sytem.out.println(“不是一元二次方程”);}} publicvoidetCoefficient(doublea,doubleb,doublec){ thi.a=a;thi.b=b;thi.c=c;if(a! =0) boo=true;ele boo=fale;}} SunRie.java publicclaSunRie{ publictaticvoidmain(Stringarg[]){ SquareEquationequation=newSquareEquation{4,5,1};equation.getRoot(); equation.etCoefficient{-3,4,5};equation.getRoot();}} 四、实验结果 五、教师评语
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 实验
![提示](https://static.bdocx.com/images/bang_tan.gif)