package 调度算法2;//注意文件名,需与自己创建的一致  public class Shijianpian {//注意类名,需与自己创建的一致static int a1=0,b1=0,c1=0,d1=0;//作为是否在运行的标志  public static void main(String[] args) {    String name[]= {"       进程名", "        到达时间", "     运行时间", "   优先级"};  for(int i=0;i<name.length;i++){    System.out.print(name[i]);    }    System.out.println();    int a[][]= {{1,3,5,2},{2,11,8,4},{3,13,3,3},{4,15,4,1}}; //创建并输出数据 。注意赋值时按照到达时间由短到长排序  for(int j=0;j<a.length;j++){    for(int i=0;i<a[j].length;i++){    System.out.print( "     "+ a[j][i]);    }    System.out.println();    }   int nt=0;//nt才是真正的时间!!!!!!int nt1=0,nt2=0,nt3=0,nt4=0;//记录运行时间int ci=0;//记录已经运行多少个进程int sh=0;//初始化方法的返回值for(int t=0;t<=30;t++){//利用for循环模拟时间流动  sh=name(a[0][1],a[1][1],a[2][1],a[3][1],nt);//1if(a1==1)  {System.out.println(nt+"时正在运行进程"+a[0][0]+"    ");try {//使每次循环停顿1秒  Thread.sleep(1000);  } catch (InterruptedException e2) {  e2.printStackTrace();  }nt=nt+1;//时间增加1个时间片nt1=nt1+1;//记录运行时间}if(nt1==a[0][2] && a1==1){ //运行完毕  System.out.println(nt+"时结束运行进程"+a[0][0]);ci=ci+1;//记录已经运行多少个进程a1=0;//置0,说明程序结束  }sh=name(a[0][1],a[1][1],a[2][1],a[3][1],nt);//2if(b1==1)  {System.out.println(nt+"时正在运行进程"+a[1][0]+"    ");try {//使每次循环停顿1秒  Thread.sleep(1000);  } catch (InterruptedException e2) {  e2.printStackTrace();  }b1=1;nt=nt+1;nt2=nt2+1;}if(nt2==a[1][2] && b1==1){  System.out.println(nt+"时结束运行进程"+a[1][0]);  ci=ci+1;b1=0;  }sh=name(a[0][1],a[1][1],a[2][1],a[3][1],nt);//3if(c1==1)  {System.out.println(nt+"时正在运行进程"+a[2][0]+"    ");try {//使每次循环停顿1秒  Thread.sleep(1000);  } catch (InterruptedException e2) {  e2.printStackTrace();  }nt=nt+1;nt3=nt3+1;}if(nt3==a[1][2] && c1==1){  System.out.println(nt+"时结束运行进程"+a[2][0]); ci=ci+1;c1=0;  }sh=name(a[0][1],a[1][1],a[2][1],a[3][1],nt);//4if(d1==1)  { System.out.println(nt+"时正在运行进程"+a[3][0]+"    "); try {//使每次循环停顿1秒  Thread.sleep(1000);  } catch (InterruptedException e2) {  e2.printStackTrace();  }nt=nt+1;nt4=nt4+1;}if(nt4==a[3][2] && d1==1){  System.out.println(nt+"时结束运行进程"+a[3][0]);ci=ci+1;d1=0;  }if(a1==0 && b1==0 && c1==0 && d1==0) { System.out.println(nt+"时没有进程运行");try {//使每次循环停顿1秒  Thread.sleep(1000);  } catch (InterruptedException e2) {  e2.printStackTrace();  }nt=nt+1;} if(ci == a[3][0]){ //记录结束的进程数等于最后进程号时,结束循环 System.out.println("所有程序已全部运行完毕"); break;}} } public static int name(int a,int b,int c,int d,int nt)//自定义的求阶乘的函数  {  if(a==nt){ //1 System.out.println(nt+"时进程"+1+"就绪");a1=1;return a; }if(b==nt){ //2 System.out.println(nt+"时进程"+2+"就绪");b1=1;return b;}if(c==nt){ //3System.out.println(nt+"时进程"+3+"就绪");c1=1;return c;}if(d==nt){ //4 System.out.println(nt+"时进程"+4+"就绪");d1=1;return d;}return 0;}  }

Java时间片轮转(简单模拟实现,适合初学者)相关推荐

  1. 有什么好的Java自学教程视频,适合初学者

    动力节点Java培训最新上线Java实验班,等你来测试自己适不适合学习Java编程哦! 随着互联网的发展,视频教程充斥着网络,很多人为了能够在视频教程中捞取一桶金,纷纷投入视频售卖的大军之中,其中不乏 ...

  2. clodeblocks debug断点调试_idea debug调试————简单常用,适合初学者

    背景: 在现在的开发中,如果不会debug,那么将会给我们的开发带来很大的困扰,如果仅仅是依靠日志信息去查问题,将会大大增加我们解决问题的难度,下面说一下idea开发工具下的简单debug. 适用人群 ...

  3. Java 代码简单模拟商城购物车

    纯Java代码模拟简单购物车功能 1.Product类 import java.util.Objects;public class Product implements Comparable{priv ...

  4. 使用java来简单模拟肯德基快餐店的收银系统实现一些功能

    一.题目要求 请同学们参考肯德基官网的信息模拟肯德基快餐店的收银系统,合理使用C++或Java或Python结合设计模式(2种以上)至少实现系统的以下功能: 1.正常餐品结算和找零. 2.基本套餐结算 ...

  5. 初学JAVA之简单模拟拳皇

    1.设定双方角色的攻击力为5-15 模拟攻击力时则需要用到 随机数取值: Math.random( ) //初始取值范围为[0,1) 要将它的值确定到 5-15 则可用如下公式: (int)(Math ...

  6. java 模拟登陆exe_Java简单模拟登陆和爬虫实例---博客园老牛大讲堂

    鉴于有人说讲的不清楚,我这里再详细补充一下:更新日期:2017-11-23 本片文章适合初学者,只简单说了一下爬虫怎么用,和一个简单的小实例.不适合你的就可以不看了.----博客园老牛大讲堂 1.什么 ...

  7. 适合初学者的java书籍

    学习java技术除了报Java培训班还有自学,书本知识一定不能忘了,书本知识带来的价值更直观,也方便记录,下面小编就为大家详细的介绍一下适合初学者的java书籍. java培训分享适合初学者的java ...

  8. python最简单的图形编程_图形化编程、Python、Java、C++到底哪个适合你?

    近两年,学习编程的热潮一波接一波,编程语言也是五花八门.盒子姐姐找到了一份2019年编程语言热度排行榜,其中,Java.C语言和Python高居榜首. 有些小伙伴就要问啦,编程语言这么多,区别在哪里呢 ...

  9. c语言和java哪个有前途_C语言和Java哪个更适合初学者?

    目前,无论是从应用范围还是流行程度来看,C语言和Java都是当下最为火热的编程语言.想要零基础入门编程的学习者在一开始的学习中都会碰到这样的难题:C语言和Java哪个更适合初学者?的确,编程语言的选择 ...

  10. Java web医院门诊挂号系统(适合初学者)

    本系统采用Java +jsp+servlet+mysql+eclipse实现,jdbc编程,具有简单的增删改查等操作,适合初学者满足基本的需求. 1.实体类GuaHao和User类. package ...

最新文章

  1. write_cfgmem 产生存储器配置文件?
  2. sharepoint 不同路径下 COOKIE找不到
  3. 我如何调优SQL Server查询
  4. 功能式Python中的探索性数据分析
  5. 对ASCII文件的操作
  6. ROS2学习(十六).ROS概念 - 构建系统
  7. 独立主题需要有index.php模板文件,wordpress 主题模板文件列表及其作用
  8. mongodb分布式集群搭建手记
  9. ASP.NET MVC 音乐商店 - 6. 使用 DataAnnotations 进行模型验证
  10. android预加载app,Android欢迎页预加载首页数据
  11. 《嵌入式系统可靠性设计技术及案例解析》读书笔记(七)
  12. ASP人事工资管理系统毕设
  13. mysql-8.0.16-winx64详细安装教程
  14. win7安装iis错误解决方法汇总
  15. 单击选定单元格后输入新内容_excel表格,要双击选定后才能输入,单击不能输入为什么...
  16. mysql 小_mysql小脚本
  17. 30 个案例教你用纯 CSS 实现常见的几何图形
  18. Word换页不用频繁敲回车
  19. SaliencyReview:显著性检测综述阅读笔记
  20. 使用 crypto 模块进行加密和解密

热门文章

  1. 【TRIO-Basic从入门到精通教程十六】UDP通讯测试补充
  2. Leetcode刷题笔记之445. 两数相加Ⅱ
  3. 文章8:多功能智能跟随行李箱控制系统设计 | 本科毕业设计 - 【毕设答辩问答记录】
  4. 数据库的数据存储文件
  5. Compose 中的附带效应
  6. 黄冠|南昌大学计算机科学与技术,课制|这里有全华师最好看的课件
  7. 工业4.0中的人-信息-物理系统集成(HSI):设计与评估方法
  8. Python中str和repr的区别
  9. AI展现唇语识别能力,大数据功不可没
  10. 猿创征文|基于Java+SpringBoot+vue学生学习平台详细设计实现