Java程序设计实训实验指导书.docx

上传人:b****1 文档编号:18953014 上传时间:2023-04-24 格式:DOCX 页数:145 大小:179.34KB
下载 相关 举报
Java程序设计实训实验指导书.docx_第1页
第1页 / 共145页
Java程序设计实训实验指导书.docx_第2页
第2页 / 共145页
Java程序设计实训实验指导书.docx_第3页
第3页 / 共145页
Java程序设计实训实验指导书.docx_第4页
第4页 / 共145页
Java程序设计实训实验指导书.docx_第5页
第5页 / 共145页
点击查看更多>>
下载资源
资源描述

Java程序设计实训实验指导书.docx

《Java程序设计实训实验指导书.docx》由会员分享,可在线阅读,更多相关《Java程序设计实训实验指导书.docx(145页珍藏版)》请在冰豆网上搜索。

Java程序设计实训实验指导书.docx

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){

");

}

}

阶段2:

需求说明:

从控制台输出多行信息

代码:

publicclassLoginMenu2{

publicstaticvoidmain(String[]args){

/*从控制台输出信息*/

);

);

}

}

阶段3:

训练要点:

使用\n和\t控制输出格式

需求说明:

从控制台输出购物管理系统的登录菜单

实现思路:

创建文件:

LoginMenu.java

结合使用\n和\t控制菜单输出格式

代码:

publicclassLoginMenu{

/*

*显示系统登录菜单

*/

publicstaticvoidmain(String[]args){

);

);

}

}

阶段4:

需求说明:

输出两个菜单

1、系统主菜单

MainMenu.java

代码:

2、客户信息管理菜单

CustMMenu.java 

代码:

阶段5:

训练要点:

代码排错技巧

需求说明:

纠正程序中的错误,使其输出“我喜欢Java程序”

publicclasswrongcode{

publicstaticvoidMain(){

/*打印输出一条信息

//修改为:

“我喜欢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=;//李四消费金额

);

}

}

阶段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){

/*录入会员信息*/

Scannerinput=newScanner(System.in);

intcustNo=input.nextInt();

StringcustBirth=input.next();

intcustScore=input.nextInt();

/*显示录入的信息*/

}

}

升级功能:

判断会员号是否合法

代码:

阶段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整除

代码:

import

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天

}

}

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日的天数

1900年1月1日的天数:

"+totalDays);

阶段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;

}

阶段5:

需求说明:

格式化输出××年××月日历

实现思路:

分析下面语句的输出结果

星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六");

for(inti=1;i<=7;i++){

}

源代码:

/*输出日历*/

for(intnullNo=0;nullNo

}

for(inti=1;i<=days;i++){

if((totalDays+i-1)%7==5){//如果当天为周六,输出换行

}

}

实验七对象和类

一、上机目标:

升级“我行我素”购物管理系统,完成以下功能:

•实现管理员类

•实现礼品类

•修改管理员密码

•礼品馈赠

二、训练技能点:

•会定义一个类

•会创建一个对象

•会编写和使用类的toString()方法

三、实验内容:

阶段1:

训练要点:

定义一个类

toString()方法

需求说明:

定义管理员类

管理员类

属性:

用户名

密码

方法:

显示管理员信息

实现思路:

创建Manager类

定义其属性:

username和password

定义其toString()方法

publicStringtoString(){

return"管理员信息是:

"+username+"\t"+password;

}

源代码:

阶段2:

需求说明:

定义礼品类

礼品类(Gift)

属性:

礼品名(name)

礼品价值(price)

方法:

显示礼品信息

代码:

阶段3:

训练要点:

创建类的对象

使用类的属性和toString()方法

需求说明:

创建管理员对象:

1、根据右表所示创建两个管理员

2、显示管理员信息

用户名

密码

manager

0000

accp

1111

实现思路:

创建测试类

编写入口程序

publicstaticvoidmain(String[]args){

//main方法主体

}

创建管理员对象并显示对象信息

Managermanager=newManager();

manager.username="manager";

manager.password="0000";

源代码:

阶段4:

需求说明:

更改管理员登录信息:

1、输入旧的用户名和密码,如果正确,方有权限更新

2、从键盘获取新的用户名和密码,进行更新

代码:

阶段5:

需求说明:

购物中心为酬谢广大客户,推出礼品馈赠活动,如表所示,循环输入会员号和积分,用面向对象思想实现礼品馈赠

积分x

奖品

8000≤x<15000

手机

x≥15000

笔记本电脑

代码:

实验八类的方法

一、上机目标

升级“我行我素”购物管理系统,完成以下功能:

•创建我行我素购物管理系统项目结构

•系统入口程序

•菜单类

•菜单切换

二、训练技能点

•会编写类的成员方法

•会进行方法调用

•会创建包和导入包

三、实验内容

阶段1:

训练要点:

创建包,在包中创建类

需求说明:

创建ShopManagementSystem项目结构:

“accp”,默认密码“0000”

代码:

阶段2:

训练要点:

创建类的成员方法

需求说明:

阅读已给出的Menu类

添加showMainMenu()方法

菜单类

属性:

方法:

显示登录菜单

显示主菜单

显示客户信息管理菜单

显示真情回馈菜单

实现思路:

编写方法框架

publicvoidshowMainMenu(){

//显示主菜单

}

编写方法主体:

拷贝第4章阶段4MainMenu.java相关代码

源代码:

阶段3:

需求说明:

实现系统入口程序:

1、加载系统管理员信息

2、显示系统登录菜单

3、实现登录菜单功能,如表所示

选择1

1)验证管理员密码

2)显示主菜单

选择2

输出“谢谢您的使用”

退出程序

实现思路及关键代码:

创建带main()的类StartSMS

创建系统管理员对象,加载系统保存的管理员信息

创建一个菜单类对象,调用其showLoginMenu()方法显示系统登录菜单

提示输入信息

根据输入信息进行验证

代码:

阶段4:

需求说明:

改写Menu类的showMainMenu()方法,实现三个菜单项功能:

1、选择1显示客户信息管理菜单

调用

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1