先来先服务问题java程序设计报告(2)

来源:网络收集 时间:2025-04-29 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xuecool-com或QQ:370150219 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

if(moveX[i]<490) {

moveX[i]+=speed[i];

}

else if(runQueue.size()==0) {

runQueue.offer(i);//把i压入队列

}

else if ((x=runQueue.peek())==i&&moveX[i]<770)//如果运行

队列中的元素就是它自己,继续行进

{

moveX[i]++; }

else if(num[i]==0) {

waitQueue.offer(i);//如果不是它自己则进入就绪队列 num[i]++;//保障只进一次队

}

if(moveX[i]==770) {

moveX[i]++; finishnum++;

if(runQueue.size()!=0)

runQueue.remove();//到达终点之后则出运行队列

if(waitQueue.size()!=0)//如果就绪队列之中有值,则出队 {

runQueue.offer(waitQueue.poll());

}

}

} }

(3) 测试用例设计

在界面上有“开始”、“关闭”、“重置”按钮,点击“开始”按钮则四个小球开始移动,点击“重置”按钮则小球恢复至本次的初始状态,重新执行。

四、 上机调试总结与分析

调试结果显示:先来先服务的基本功能已经实现,基本没有bug。在界面上可以添加“暂停”,“继续”按钮来控制小球的运动。

五、 用户使用说明

点击“开始”按钮就可以看到小球开始运动,最先到达CPU边缘的小球会继续前进,其余的小球则在CPU边缘之外开始等待,等到小球通过CPU矩形后,小球停止在CPU矩形之外。这时,最先开始等待的小球开始通过CPU矩形。直到所有的小球通过CPU矩形为止。最终小球会停止在CPU边缘之外。

点击“重置”则重复此次小球运行状态。 点击“关闭”则关闭程序界面。

六、 测试数据与测试结果等内容。

测试结果如下:

初始界面

红球通过CPU,其余小球开始等待

小球全部通过CPU

八、课程设计总结

这次的实验花了我不少的时间,因为一开始不知道怎么做。使用C#来写是很简单的,但是这是个典型的线程问题,虽然有线程但是我们并没有学,所以也不会使用。我们这学期学了java,所以我最终决定使用java来写这个实验。而java使用线程以及搭建界面都是比较麻烦的,但是功夫不负有心人,我还是完成这个实验。

总体来说这次课程设计的收获还是很多的,首先是我们这学期刚学了java语言,但是由于课时较少,只有八周的学习时间,所有说编的程序并不是很多,对于java语言了解的也不够深入,尤其是java可视化程序更是不太会写,通过这次的课程设计,我基本掌握了java界面的搭建方法,以及界面布局的方法。更多的收获是对于java的一大特色——线程有了更深入的了解。之前很少使用线程去写程序的。这次使用了线程之后我才发现java线程的应用还是非常方便的。

在写此程序的过程中遇到的问题还是很多的,比如说界面的搭建以及小球和矩形的绘制等,但这些都是属于java编程的内容,基本上在网上可以找到比较好的解决方案。最大的问题就是小球移动的算法设计了,在我对于先来先服务的算法进行分析之后,最终找到了使用队列解决该问题的方法。

九、附录程序清单

(1)FCFS.java清单

package 先来先服务; import java.awt.Frame; public class FCFS {

public static void main(String[] args) { // TODO Auto-generated method stub MyFrame frame=new MyFrame(\先来先服务\ frame.setVisible(true); } }

(2)MoveThread.java清单 package 先来先服务;

import java.awt.Frame;

//线程类

public class MoveThread extends Thread {

public int id;//小球编号 MyFrame frame;

public MoveThread(int i,MyFrame fra) {

id=i;

frame=fra; }

public void run() {

while (true) { frame.move(id); frame.repaint(); try {

sleep(10);

} catch (Exception e) {

// TODO: handle exception } } } }

百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典综合文库先来先服务问题java程序设计报告(2)在线全文阅读。

先来先服务问题java程序设计报告(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.70edu.com/wenku/298436.html(转载请注明文章来源)
Copyright © 2020-2025 70教育网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:370150219 邮箱:370150219@qq.com
苏ICP备16052595号-17
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:7 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219