Java程序设计实训实验指导书.docx
- 文档编号:17880943
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:162
- 大小:1.83MB
Java程序设计实训实验指导书.docx
《Java程序设计实训实验指导书.docx》由会员分享,可在线阅读,更多相关《Java程序设计实训实验指导书.docx(162页珍藏版)》请在冰点文库上搜索。
Java程序设计实训实验指导书
《JAVA程序设计实训》
实验报告
班级:
学号:
姓名:
实验一开发简单的Java应用程序
一、上机目标:
开发“我行我素”购物管理系统:
1.制作系统登录菜单
2.制作系统主菜单
3.制作客户信息管理菜单
二、训练技能点
1.熟悉用Eclipse编写Java程序
2.会使用输出语句从控制台输出信息
3.会进行代码排错
三、实验内容
阶段1:
训练要点:
使用Eclipse平台开发Java程序
Java输出语句
需求说明:
从控制台输出一行信息:
欢迎使用开心购物管理系统1.0版
实现思路:
创建一个Java项目:
ShopManagementSystem
创建一个文本文件:
LoginMenu1.java
编写程序框架
编写输出语句
编写注释
代码:
publicclassLoginMenu1{
publicstaticvoidmain(String[]args){
System.out.println("");
}
}
阶段2:
需求说明:
从控制台输出多行信息
代码:
publicclassLoginMenu2{
publicstaticvoidmain(String[]args){
/*从控制台输出信息*/
System.out.println("************************************\n");
System.out.println();
System.out.println();
System.out.println("************************************");
}
}
阶段3:
训练要点:
使用\n和\t控制输出格式
需求说明:
从控制台输出购物管理系统的登录菜单
实现思路:
创建文件:
LoginMenu.java
结合使用\n和\t控制菜单输出格式
代码:
publicclassLoginMenu{
/*
*显示系统登录菜单
*/
publicstaticvoidmain(String[]args){
System.out.println("\n\n\t\t\t欢迎使用我行我素购物管理系统1.0版\n\n");
System.out.println();
System.out.println();
System.out.println("****************************************\n");
System.out.print("请选择,输入数字:
");
}
}
阶段4:
需求说明:
输出两个菜单
1、系统主菜单
MainMenu.java
代码:
2、客户信息管理菜单
CustMMenu.java
代码:
阶段5:
训练要点:
代码排错技巧
需求说明:
纠正程序中的错误,使其输出“我喜欢Java程序”
publicclasswrongcode{
publicstaticvoidMain(){
/*打印输出一条信息
system.out.println(我喜欢Java程序)
//修改为:
system.out.println(“我喜欢Java程序”);加””和;
}
实验二变量、数据类型和运算符
一、上机目标:
升级“我行我素”购物管理系统,完成以下功能:
•购物结算
•打印购物小票
•计算会员积分
•模拟幸运抽奖
•计算员工工资
二、训练技能点:
•会声明和使用变量
•能熟练使用常用运算符
•赋值运算符:
=
•算术运算符:
+、-、*、/、%
三、实验内容
阶段1:
训练要点:
运算符(*、=)、从控制台输出信息
需求说明:
根据购物清单及会员级别:
1、计算消费金额
客户
购买商品
单价
个数
折扣
1
T恤
¥420.78
1
9.5
2
网球
¥45
3
无
2、以下表形式输出结果(不要求表格边框)
客户
消费金额
1
张三
?
2
李四
?
实现思路:
声明变量存放商品信息(单价、购物个数)
根据不同折扣,分别计算消费金额
使用“+”连接输出信息,使用\t控制输出格式
代码:
publicclassPay1{
publicstaticvoidmain(String[]args){
doubleshirtPrice=420.78;//T恤单价
intshirtNo=1;//购T恤件数
doubletennisPrice=45;//网球单价
inttennisNo=3;//购网球个数
doubleshirtMoney=;//张三消费金额
doubletennisMoney=;//李四消费金额
System.out.println("客户\t"+"消费金额");
System.out.println("张三\t"+shirtMoney);
System.out.println();
}
}
阶段2:
需求说明:
张三(享8折)购物如右表所示,结算时支付1500元
1、计算消费总额并打印购物小票(如下图)
商品
单价
个数
T恤
245
2
网球鞋
570
1
网球拍
320
1
2、计算购物获得的会员积分(100元获3分)
代码:
阶段3:
训练要点:
运算符(%、/)
需求说明:
幸运抽奖:
凡是4位会员卡号的各个位上的数字之和大于20,则为幸运客户,有精美Mp3送上,编程计算8349各位数字之和
实现思路:
结合使用“/”和“%”分解获得各位数字
计算各位数字之和
代码:
阶段4:
需求说明:
商场为员工提供了基本工资(3000元)、物价津贴及房租津贴,其中物价津贴为基本工资的40%,房租津贴为基本工资的25%。
编程计算实领工资
代码:
实验三运算符和条件结构
一、上机目标
升级“我行我素”购物管理系统,完成以下功能:
•录入会员信息
•模拟幸运抽奖
•菜单切换
•计算会员折扣
二、训练技能点:
•会使用关系运算符和逻辑运算符
•会从控制台获取键盘输入的数据
•会使用if-else和多重if条件结构
•会使用switch结构
三、实验内容
阶段1:
训练要点:
获取键盘输入
条件运算符
逻辑运算符
需求说明:
录入会员信息(会员号、会员生日、会员积分)并显示录入信息
升级功能:
判断录入是否合法(会员号必为4位整数),录入合法,显示录入的信息;不合法,显示“录入失败”
实现思路:
完成信息录入:
使用Scanner获取用户输入,存储在变量中
publicclassAddCust1{
publicstaticvoidmain(String[]args){
System.out.println("我行我素购物管理系统>客户信息管理>添加客户信息\n");
/*录入会员信息*/
Scannerinput=newScanner(System.in);
System.out.print("请输入会员号(<4位整数>):
");
intcustNo=input.nextInt();
System.out.print("请输入会员生日(月/日<用两位数表示>):
");
StringcustBirth=input.next();
System.out.print("请输入积分:
");
intcustScore=input.nextInt();
/*显示录入的信息*/
System.out.println("\n已录入的会员信息是:
");
System.out.println(custNo+"\t"+custBirth+"\t"+custScore);
}
}
升级功能:
判断会员号是否合法
代码:
阶段2:
需求说明:
商场实行新的抽奖规则:
会员号的百位数字等于产生的随机数字即为幸运会员。
基于第2章阶段3,实现:
1、从键盘接收会员号
2、使用if-else实现幸运抽奖
代码:
阶段3:
训练要点:
switch结构
多重if结构
需求说明:
实现从登录菜单进入二级菜单
1、输入1:
进入主菜单
2、输入2:
退出并显示“谢谢您的使用!
”
3、输入其他数字:
显示“输入错误”
实现思路:
在第1章阶段3登录菜单程序(LoginMenu.java)基础上完成
从控制台接收一个数字
使用switch结构或多重if结构实现菜单切换
代码:
阶段4:
需求说明:
会员根据积分享受不同折扣,如右表。
使用多重if结构计算会员折扣
折扣
x<2000
9折
2000≤x<4000
8折
4000≤x<8000
7折
x≥8000
6折
代码:
实验四循环结构
(一)
一、上机目标:
升级“我行我素”购物管理系统,完成以下功能:
•查询商品价格
•升级购物结算
•升级菜单切换
•升级幸运抽奖
二、训练技能点:
•会使用while循环
•会使用do-while循环
•会进行代码跟踪调试
三、实验内容:
阶段1:
训练要点:
while循环结构
需求说明:
编程实现:
计算100以内(包括100)的偶数之和
观察在每一次循环中变量值的变化
代码:
阶段2:
训练要点:
while循环结构
需求说明:
实现商品查价:
1、输入商品编号,显示商品价格
2、循环查询
3、输入“n”退出循环
编号
商品
价格
1
T恤
245
2
网球鞋
570
3
网球拍
320
实现思路及关键代码:
创建LookPrice.java
声明变量存储商品信息
循环体:
从键盘接收商品编号,使用switch语句选择该编号对应的商品信息,并输出商品名称和商品价格
循环条件
获取用户输入,为“n”时结束循环
代码:
阶段3
需求说明:
基于阶段2,升级实验二阶段2购物结算功能:
1、循环输入商品编号和购物数量,计算消费金额并累加到总金额
2、输入“n”开始结账(假设享8折)
3、输入实付金额,计算找零
代码:
阶段4:
训练要点:
do-while循环结构
需求说明:
进入系统主菜单,提示输入数字选择进入相应菜单。
用户输入错误,可以重复输入,直到输入正确,执行相应的操作后退出循环
代码:
阶段5:
需求说明:
升级实验三阶段2幸运抽奖:
1、循环输入4位会员号,判断是否为幸运会员
2、输入“n”退出抽奖
代码:
实验五循环结构
(二)
一、上机目标:
升级“我行我素”购物管理系统,完成以下功能:
•统计顾客的年龄层次
•循环录入会员信息
•登录时用户信息验证
二、训练技能点:
•会使用for循环结构
•会使用break和continue控制循环停止或继续
•会进行代码跟踪调试
三、实验内容:
阶段1:
训练要点:
for循环结构
需求说明:
为提高销售额,对顾客的年龄层次(30岁之上/之下)进行调查(样本数为10),计算两个层次的顾客比例
实现思路及关键代码:
创建AgeRate.java
定义计算器变量old和young
循环录入被调查的10位顾客的年龄
for(inti=0;i<10;i++){
//录入顾客年龄
//统计各层次的人数
}
计算各层次比例
doubleoldRate=old/10.0;
代码:
阶段2:
训练要点:
for循环结构
continue语句
需求说明:
实现循环录入客户信息:
1、循环录入3位客户信息
2、判断会员号是否合法(4位整数)
3、会员号合法,显示录入的信息,否则显示录入失败
实现思路:
基于实验三阶段1代码AddCust.java扩展
增加for循环结构
for(inti=0;i<3;i++){
//从键盘获取信息
//判断:
如果会员号不合法,输出错误提示,继续下一次循环
//会员号合法则输出录入的信息
}
使用continue控制循环执行过程
代码:
阶段3:
需求说明:
实现用户登录时的信息验证:
1、登录时提示输入用户名和密码并进行验证
2、如果输入超过3次,程序结束
3、根据3种匹配结果(信息匹配/信息不匹配/3次都不匹配),执行不同的操作
代码:
阶段4:
训练要点:
循环结构,break,断点跟踪
需求说明:
一个球从100米高度自由落下,每次落地后反弹回原高度的一半;再落下,求在第几次之后反弹高度小于0.1米,并计算在这一次落地时共经过多少米?
对代码进行跟踪调试,使其输出正确结果
代码:
实验六循环和分支结构综合训练(阶段练习)
一、上机目标
从控制台输入××××年××月,从控制台输出该月日历
二、训练技能点
•会使用分支结构解决问题
•会使用循环结构解决问题
三、实验内容
需求说明:
任务从控制台输入××××年××月,从控制台输出该月日历
(1900年1月1日是星期一)
1、判断该年是否是闰
2、计算该月天数
3、计算该月第一天是星期几
4、按格式输出该月日历
阶段划分:
–阶段1
分析业务;实现从控制台接收年和月,判断是否是闰年
–阶段2
编程计算输入月份的天数
–阶段3
编程计算输入的月份距离1900年1月1日的天数
–阶段4
编程计算输入月份的第一天是星期×
–阶段5
格式化输出××年××月日历
阶段1:
需求说明:
实现:
从控制台接收年和月份,判断输入的年份是否是闰年
实现思路:
判断是否是闰年:
能被4整除但不能被100整除;或者能被400整除
代码:
importjava.util.Scanner;
publicclassPrintCalendar1{
publicstaticvoidmain(String[]args){
System.out.println("**********欢迎使用万年历*************");
Scannerinput=newScanner(System.in);
System.out.print("\n请选择年份:
");
intyear=input.nextInt();
System.out.print("\n请选择月份:
");
intmonth=input.nextInt();
System.out.println();
intdays=0;//存储当月的天数
booleanisRn;
/*判断是否是闰年*/
if(year%4==0&&!
(year%100==0)||year%400==0){
isRn=true;//闰年
}else{
isRn=false;//平年
}
if(isRn){
System.out.println(year+"闰年");
}else{
System.out.println(year+"平年");
}
}
}
阶段2:
需求说明:
扩展阶段1,实现2:
计算输入月份的天数
实现思路:
闰年2月:
29天
平年2月:
28天
代码:
/*计算当月的天数*/
switch(month){
case1:
case3:
case5:
case7:
case8:
case10:
case12:
days=31;
break;
case2:
if(isRn){
days=29;
}else{
days=28;
}
break;
default:
days=30;
break;
}
System.out.println(month+"\t共"+days+"天");
阶段3:
需求说明:
扩展阶段2,实现3:
1、计算输入月份距离1900年1月1日的天数
2、计算输入月份之前的天数(从当年年初开始)
3、求和
实现思路:
代码:
/*计算输入的年份之前的天数*/
inttotalDays=0;
for(inti=1900;i /*判断闰年或平年,并进行天数累加*/ if(i%4==0&&! (i%100==0)||i%400==0){//判断是否为闰年 totalDays=totalDays+366;//闰年366天 }else{ totalDays=totalDays+365;//平年365天 } } System.out.println("输入年份距离1900年1月1日的天数: "+totalDays); /*计算输入月份之前的天数*/ intbeforeDays=0; for(inti=1;i<=month;i++){ switch(i){ case1: case3: case5: case7: case8: case10: case12: days=31; break; case2: if(isRn){ days=29; }else{ days=28; } break; default: days=30; break; } if(i beforeDays=beforeDays+days; } } totalDays=totalDays+beforeDays;//距离1900年1月1日的天数 System.out.println("输入月份距离1900年1月1日的天数: "+totalDays); System.out.println("当前月份的天数: "+days); 阶段4: 需求说明: 扩展阶段3,已知该月之前的天数,计算输入月份的第一天是星期× 实现思路: 从1900年1月1日(星期一)开始推算: 星期×=1+天数差%7 周一~周六: 1~6周日: 0 代码: /*计算星期几*/ intfirstDayOfWeek;//存储当月第一天是星期几: 星期日为0,星期一~星期六为1~6 inttemp=1+totalDays%7;//从1900年1月1日推算 if(temp==7){//求当月第一天 firstDayOfWeek=0; }else{ firstDayOfWeek=temp; } System.out.println("该月第一天是: "+firstDayOfWeek); 阶段5: 需求说明: 格式化输出××年××月日历 实现思路: 分析下面语句的输出结果 System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六"); for(inti=1;i<=7;i++){ System.out.print(i+"\t"); } 源代码: /*输出日历*/ System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六"); for(intnullNo=0;nullNo System.out.print("\t");//输出空格 } for(inti=1;i<=days;i++){ System.out.print(i+"\t"); if((totalDays+i-1)%7==5){//如果当天为周六,输出换行 System.out.println(); } } 实验七对象和类 一、上机目标: 升级“我行我素”购物管理系统,完成以下功能: •实现管理员类 •实现礼品类 •修改管理员密码 •礼品馈赠 二、训练技能点: •会定义一个类 •会创建一个对象 •会编写和使用类的toString()方法 三、实验内容: 阶段1: 训练要点: 定义一个类 toString()方法 需求说明: 定义管理员类 管理员类 属性: 用户名 密码 方法: 显示管理员信息 实现思路: 创建Manager类 定义其属性: username和password 定义其toString()方法 publicStringtoString(){ return"管理员信息是: "+username+"\t"+password; } 源代码: 阶段2: 需求说明: 定义礼品类 礼品类(Gift) 属性: 礼品名(name) 礼品价值(price) 方法: 显示礼品信息 代码: 阶段3: 训练要点: 创
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 程序设计 实验 指导书