Java实验--贪心猪小游戏、输入输出流、图形化界面、图书管理系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

配置Java编程环境、随机数、输入输出流、图型用户界面、图书管理系统实验报告内容:一、实验目的(1)培养学生网络应用程序的编程能力,在学生具有一定的计算机和网络知识的基础上开设Java程序设计课程,使学生能够运用Java语言作为完成应用程序设计的基本工具。(2)熟悉Java语言在eclipse开发平台上创建新的工程、创建新的类,以及源代码完成后的编译、运行、调试过程;(3)掌握Java的控制流和随机数的方法;(4)熟悉Java语言中创建新的类对象的声明、静态类成员的定义以及使用过程。二、实验性质设计性三、实验内容1、配置JDK环境、包括ClassPath和path的编辑2.编写Java程序,贪心猪游戏,一个简单的两人掷色子游戏,先达到或者超过100分的玩家获胜。玩家轮流进行游戏,每次掷出一个六面色字。如果玩家掷出1,不得分并换人。如果玩家掷出2-6,就可以选择:再掷一次,或保留得分。这样的话会吧所有得分计入该玩家的成绩并换人。请编写人家对贪心猪游戏程序。轮到玩家时,程序会显示双方成绩和之前的点数。玩家可以输入“r”重掷色子,或者输入“h”保留得分。计算机程序会根据以下规则进行游戏:轮到计算机游戏时候,持续掷色子,直到达到或者超过20分才予以保留。如果计算机获胜或掷出1,则本轮立即结束。玩家先掷色子。四、实验环境1.计算机一台;2.中文Windows操作系统;安装JDK1.6以上版本,安装EclipseIDE软件。五、实验主要步骤1.问题分解,(画出程序流程图)begin(sum1100)&&(sum2100)&&(sum3100)玩家1掷色子num==1sum1=sum1+numY输r重掷或着h保存input==rNNYsum1=100Y输出玩家1赢end玩家2掷色子num==1sum2=sum2+numY输r重掷或着h保存input==rNNYsum2=100N输出玩家2赢YN电脑掷色子cnum==1sum3=sum3+cnumYcnum=20YNsum3=sum3sum3=100cnum+=cnum输出电脑赢Y图1.1实验一流程图2.给出程序源码见附录3.程序运行结果见附录六.实验小结本次实验使我对类的概念有了进一步的了解,学会用类来实现一些基本的程序设计;本次实验使我懂得了在内部类的声明时加上static使其成为静态内部类来避免资源的浪费、保持封装的完整性;本次实验使我认识到在玩家1、玩家2和电脑循环过程可以不必用一个额外的整数n来判断下一轮到谁玩,而可以直接在定义其掷色子的过程中,在点数为1时,下一步执行下一位玩家的行为。实验报告内容:一、实验目的(1)掌握输入流和输出流类在进行文件读写时的一般方法和具体步骤;(2)掌握对从文本文件中读出的字符串进行处理的常用方法和具体步骤;(3)掌握文件处理过程中异常处理的方法。二、实验性质设计性三、实验内容编写Java程序,建立一个包含“Ihateprogramming!”的文本文件。编写一个程序,让它从文本文件读取这行文字,并将文字中第一次出现“hate”改成“love”。在这个编程项目中,程序将输出“Iloveprogramming!”到另外一个文本文件里面。四、实验环境1.计算机一台;2.中文Windows操作系统;安装JDK1.6以上版本,安装EclipseIDE软件。五、实验主要步骤1问题分解,(画出程序流程图)begin读取文件1中的内容end建立一个包含“Ihateprogramming”文本文件1将第一次出现的“hate”改为“love”输出“Iloveprogramming”到另一个文本文件2中图2.1实验二流程图2.给出程序源码见附录3.给出程序运行结果见附录六、实验小结本次实验使我对文件输入输出的概念有了进一步的了解,学会用创建新的文本文件、编程读取文本中的内容以及将所得内容输出到相应的文本文件中的方法;本次实验使我认识到在文件相应的操作进行完之后,要注意将相应的文件进行关闭。实验报告内容:一、实验目的(1)掌握Swing包中常用的组件使用方法;(2)掌握使用Swing包中常用组件实现简单的图形化输出过程中对各组件的添加步骤以及添加方法;(3)熟悉布局管理器的适用场合,掌握事件处理机制;(4)掌握事件监听器的使用。二、实验性质设计性三、实验内容编写一个对输入的英文单词按照字典排序的程序,界面如图,当在一个文本域输入若干个英文字单词,单击字典排序按钮,另一个文本域对输入的英文单词进行排序;当按清空按钮,另一个文本区域的内容同时清空。要求通过Swing组件完成本程序的编写。四、实验环境1.计算机一台;2.中文Windows操作系统;安装JDK1.6以上版本,安装EclipseIDE软件。五、实验主要步骤1.问题分解,(画出程序类图)begin用splitPane将窗口分割成两部分,将文本域加入splitPaneend创建两个文本域(inputText、showText)将pSouth加入窗口中,设置窗口大小、使窗口可见创建一个新的面板pSouth,并将两个按钮加进去创建一个窗口点击字典排序将inputText中的单词按照字典序排列,并输出到showText中点击清空YNY清空inputText和showText中的内容N在inputText中输入单词图3.1实验三流程图2.给出程序源码见附录3.给出程序运行结果见附录六、实验小结本次实验使我对图形化界面的概念有了进一步的了解,学会用已知组建创建窗口、文本域、按钮、分隔框以及将它们合并加入到一个窗口中的方法;本次实验使我了解到应用事件监听器对按钮点击后所进行的事件进行控制的方法;本次实验还让我懂得了在程序运行中可能出现异常,以及常见异常的处理方法。实验报告内容:一、实验目的(1)掌握面向对象的程序设计与开发;(2)掌握封装,多态,继承,异常处理,上转型技术,泛型。二、实验性质综合性三、实验内容要求完成一个图书馆管理系统,该系统允许用户借阅图书馆拥有的各种项目。您将被要求创建一个library类,library中保存了一个项目列表的引用。该列表(称为itemList)的类型是ArrayList,它包含了图书馆中的所有项目。这些项目包括:书籍,杂志,DVD(电影),Blurays(电影),MusicCD。这些项目中的每一个物品都需要存储在列表(itemList)中。要求你使用继承技术创建一个管理此系统的库类。允许除了添加或删除项目,还要实现允许用户借用一件物品并能将其归还。您编写测试程序以确保您的图书馆系统的能够正常运行。。四、实验环境1.计算机一台;2.中文Windows操作系统;安装JDK1.6以上版本,安装EclipseIDE软件。五、实验主要步骤1.问题分解,(画出程序类图)begin创建图书馆类,里面包含对上述各类的引用以及一个用来添加新的书籍、杂志等的方法end创建书籍、杂志、DVD、Blurays、MusicCD等类创建一个类project,为书籍、杂志、DVD、Blurays、MusicCD等类的父类创建一个User类,用户可以借用各种资源以及归还。创建一个进行测试的主类在里面创建一个User的对象以及一个Library的对象图4.1实验四流程图2.给出程序源码见附录3..给出程序运行结果见附录六、实验小结本次实验使我对类的封装、继承、多态、异常处理上转型技术、泛型等概念有了进一步的了解,学会子类继承父类的方法;本次实验使我了解到可以通过使用泛型类来避免很多源代码需要的类型转换以及提高类型安全。附录:实验一代码importjava.util.*;classGreed_pig{//创建两个玩家privatestaticPlayerplayer1=newPlayer();privatestaticPlayerplayer2=newPlayer();privatestaticComputercomputer=newComputer();publicstaticvoidmain(String[]args){//玩家1现在的分数intsum1=player1.getSum();//玩家2现在的分数intsum2=player2.getSum();//电脑现在的分数intsum3=computer.getSum();//游戏开始while(sum1100&&sum2100&&sum3100){play1();play2();play3();}}//静态内部类privatestaticclassPlayer{//玩家分数intsum;//getterandsetter是用来封装数据的publicintgetSum(){returnsum;}publicvoidsetSum(intsum){this.sum=sum;}//掷骰子的方法publicintplay(){//产生随机数1-6intnum=(int)Math.ceil(Math.random()*6);if(num==1){//代表结束,之后应该执行切换逻辑System.out.println(thisroundscore:+num);System.out.println(nextplayerhaha~~);//TODO切换return1;}else{Scannerscanner=newScanner(System.in);System.out.println(thisroundscore:+num);System.out.println(pleaseinput'r'toreplayor'h'tosaveyouscore:);Stringinput=scanner.next();if(r.equals(input)){replay();}elseif(h.equals(input)){this.sum=this.sum+num;System.out.println(savesuccess!);//TODO切换return1;}else{soutError();}}return1;}privatevoidsoutError(){System.out.println(youinputisERROR!!!pleaserestartthisgame!thanks~~);System.exit(0);}privatevoidreplay(){this.play();}}privatestaticclassComputer{intsum;intcursum=0;publicintgetSum(){returnsum;}publicvoidsetSum(ints){this.sum=sum+s;}publicintcplay(){intnum=(int)Math.ceil(Math.random()*6);if(num==1){System.out.println(thisroundscore:+num);System.out.println(nextplayerhah~~);return1;}else{Scannerscanner=newScanner(System.in);System.out.println(thisroundscore:+num);this.cursum=this.cursum+num;creplay();}return1;}privatevoidcreplay(){this.cplay();}}privatestaticvoidplay1(){//玩家1的切换标识intstate1;System.out.println(player1score:+player1.sum++player2score:+player2.sum++computerscore:+computer.sum);System.out.print(player1isplaying);state1=player1.play();if(state1==1){if(player1.sum100&&player2.sum100&&computer.

1 / 28
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功