啊啊啊 草蛋啊 之前努力一天搞出来的时间算法 被一句pk掉 给我砖头

  1 package yun3;
  2
  3 import java.io.BufferedReader;
  4 import java.io.InputStreamReader;
  5 import java.util.Calendar;
  6 import java.util.Scanner;
  7 public class number3 {
  8
  9     /**
 10      * * 作者:范铭祥
 11      * 功能:演示先来先到处理算法
 12      * 日志2:事实证明日志1的方法可用,但在系统运行过程中因为一些逻辑性问题而出错,我将画一张新逻辑图
 13      * 来解决这问题,现创建新程序解决,并缩略程序
 14      */
 15     public static void main(String[] args) throws Exception
 16     {
 17             System.out.println("是否要自定作业个数?Y/N");
 18             BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
 19             String choose=br.readLine();
 20             JCB[] project=new JCB[25];
 21             int aa=1;
 22             if(choose.equals("Y"))
 23             {
 24                 Scanner in=new Scanner(System.in);
 25                 System.out.println("请输入作业的个数");
 26                 aa=in.nextInt()+1;//这里aa预留大了1,后面只需用<符号
 27             }
 28             if(choose.equals("N"))
 29             {
 30                   aa=6;
 31             }
 32             //录入各项目的JBC数据
 33             System.out.println("以下是输入作业信息:\n");
 34             Scanner in=new Scanner(System.in);
 35             for(int i=1;i<aa;i++)
 36             {
 37
 38                 project[i]=new JCB();
 39                 project[i].vv=i;
 40                 System.out.println("请输入第"+i+"个作业的名字  ");
 41                 project[i].name=br.readLine();
 42                 project[i].inmessage("作业等待");
 43                 System.out.println("输入第"+i+"个作业所需的运行时间(秒)!");
 44                 int run=in.nextInt();
 45                 project[i].time_1(run);
 46                 System.out.println("输入第"+i+"个作业开始运行的时间(秒)");
 47                 int get=in.nextInt();
 48                 project[i].time_2(get);
 49             }
 50             //以下是用于排序
 51             open1 s1=new open1();
 52             s1.open1_2(aa, project);
 53 //            //Test0
 54 //            for(int v=1;v<aa;v++)
 55 //            {
 56 //                System.out.println("vv"+project[v].vv);
 57 //            }
 58             //以下是用于将正确的作业顺序填入JCB
 59             JCB PP[]=new JCB[25];
 60             for(int b=1;b<aa;b++)
 61             {
 62                 PP[b]=new JCB();
 63                 for(int c=1;c<aa;c++ )//这里用于搜索在pro[]vv中的1234
 64                 {
 65                     if(project[c].vv==b)
 66                     {
 67                         PP[b]=project[c];
 68                     }
 69                 }
 70             }
 71             //test
 72             for(int u=1;u<aa;u++)
 73             {
 74             System.out.println("第"+u+"处理: 原第"+PP[u].vv+"个作业——名称:"+PP[u].name+"到达时间:"+PP[u].gettime+"运行时间"+PP[u].runtime);
 75             }
 76             //录完go时间模块
 77             Calendar c = Calendar.getInstance();
 78             int gominute = c.get(Calendar.MINUTE);
 79             int gosecond = c.get(Calendar.SECOND);
 80             int all=gominute*60+gosecond;
 81             //装逼提示用户系统开始时间(秒)
 82             System.out.println("录完作业入系统的时间0");
 83             //以下是开始执行各作业的运行情况
 84             boolean go=true;int ii=1;int kk2=0;
 85             boolean go2=true;
 86 /*最外层循环*/do
 87             {
 88
 89 //            System.out.println("ii"+ii);
 90             Calendar b = Calendar.getInstance();
 91 /*0延迟更新时间*/int m = b.get(Calendar.MINUTE)*60;
 92             int s = b.get(Calendar.SECOND)+m;//现时间总和
 93             //以下这部分专门用来显示时间
 94             int kk=s-all;
 95             if(kk==kk2)
 96             {
 97                 System.out.println("系统时间:第"+kk+"秒");
 98             }
 99             kk2=kk+1;
100             int yy=PP[ii].runtime;//这里不知为何要用int来传入PP【ii】.runtime,测试后发现这个可行
101             if(s==PP[ii].gettime+all)//当时间到达任务开始的时间
102             {
103                 System.out.println("第"+ii+"个作业的到达时间"+PP[ii].gettime);
104                 System.out.println("作业"+ii+"正在运行");
105 /*在该作业中不断循环时间 直至时间跳到now=s(记录的是该作业开始运行的时间)+runtime*/
106                 go2=true;//使下个作业能再进去
107                 while(go2)
108                 {
109                 Calendar d = Calendar.getInstance();//可以对每个时间域单独修改
110                 int m3 = d.get(Calendar.MINUTE)*60;
111                 int s3 = d.get(Calendar.SECOND)+m3;//数出的最新的时间
112 /*判断*/            if(s+yy==s3)
113                 {
114                   System.out.println("任务作业"+ii+"名字"+PP[ii].name+"状态:完成");
115                   PP[ii].zt="作业完成";
116                   int nowt2=s3-all;
117                   System.out.println("现在系统时间"+nowt2);
118                   go2=false;
119                   //然后再判断现时间是否超过下一作业的开始时间 是则 替代之
120                   if(ii+1<=aa-1)//限制ii+1的范围 避免空
121                   {
122                   if(nowt2>=PP[ii+1].gettime)
123                   {
124                       PP[ii+1].gettime=nowt2;
125                   }
126                   }
127                   ii++;
128                 }
129 //跳出来了
130                 if(ii==aa)
131                 {
132                     go=false;
133                 }
134
135                 }
136
137             }
138             }while(go);
139             System.out.println("                                         你的要求全部完成                                                                                              ");
140     }
141
142 }
143 class JCB{
144     public String name,zt;//作业名  运行状态
145     public int vv;//用来排完顺序后存储原来的作业号
146     public int runtime;//运行所需要时间
147     public int gettime;//到达时间
148     //从这里录入
149     public void inmessage(String zt)
150     {
151         this.zt=zt;
152     }
153     public void time_1(int cd)
154     {
155         this.runtime=cd;
156     }
157     public void time_2(int gd)
158     {
159         this.gettime=gd;
160     }
161 }
162 class SYS_START
163 {
164     public int gomm; //记录全部作业开始时的时间
165     public int goss; //记录全部作业开始时的时间
166     public int allstart;//这个是将全部作业开始的时间化为秒数
167     public SYS_START()
168     {
169         this.allstart=gomm*60+goss;
170     }
171     public void gommtime(int mmtime)
172      {
173          this.gomm=mmtime;
174      }
175     public void gosstime(int sstime)
176     {
177         this.goss=sstime;
178     }
179
180 }
181 class open1
182 {
183     public void open1_2(int aa,JCB project[])
184     {
185           //以下是开始排序来达到先来先到处理算法:采用的是冒泡排序法
186         int temp=0;
187         for(int i=1;i<aa;i++)
188         {
189                 for(int y=aa-1;y>i;y--)
190                 {
191                    if(project[y].gettime<project[y-1].gettime)
192                    {
193                        temp=project[y].vv;
194                        project[y].vv=project[y-1].vv;
195                        project[y-1].vv=temp;
196                    }
197                 }
198         }
199     }
200 }

啊啊啊啊啊啊啊!!!被一句pk掉Thread.sleep(1000);
时间: 2024-10-10 14:58:11

啊啊啊 草蛋啊 之前努力一天搞出来的时间算法 被一句pk掉 给我砖头的相关文章

你为什么要努力?怀才当遇走心回答

人为什么要努力?为了更好的生活. 你为什么要努力? 因为你不是上帝的宠儿,生活不会对你格外照顾. 为什么你要努力? 因为身在职场,适者生存.职场本来就是弱肉强食,在这个实行淘汰制的规则中,你必须要很努力,才能有生存之地. 我曾经遇到过一个很牛逼的HR,她是金融行业的,女性. 为什么要把女性单列出来,是因为她告诉我,作为一个女性在金融行业做到一定程度上就很难发展下去,相比于男性的性格特征,女性是处于劣势的. 她接着说"既然做不到顶尖,就想办法把自己做到无可替代".把一件事情做到无可替代,

选择和努力,到底哪个更重要?

中国教育 "天才等于百分之一的灵感,加百分之九十九的汗水" --托马斯·爱迪生  这句话打我们上小学时就听到过.它经常作为爱迪生画像下边的语录,贴在教室的墙上:也经常出现在老师的嘴里:还经常出现在作文里充字数. 那时的我不爱努力,同时又爱耍点小聪明,这让我的学习还算中上.因此我对这句话总是有种说不出的不爽.尤其是看到那些比我学习好的同学,比我还努力,同时那堆老师们又常常祭出这句话教诲我们,我就一股醋意上身. 好在后来这句话被"揭了真相",在我上大学时,跟一同学一起吃

珍惜生命,努力奋斗

纵观历史,有多少人感叹过时间一去不复返,惋惜而追悔它的流逝.“君不见银河之水天上来,奔流到海不复回.君不见高堂明镜悲白发,朝如青丝暮成雪.”这是唐朝诗仙李白惋惜时间的稍纵即逝,并告诫人们要珍惜时间,努力做好今天的每一件事.伟大的教育家孔子曾沉吟道:“逝者如斯夫,不舍昼夜.”时间,每时每刻,永不疲倦,奔流不息地从我们的说话.吃饭.工作,睡觉中默默的流逝.溜走.正如散文家朱自清在<匆匆>一文中写道:“洗手的时候,日子从盆子里过去,吃饭的时候从饭碗里过去,默默时,便从凝望的双眼里过去,我觉察他去得匆

Hadoop2.7.3 多台主机完全分布式搭建(Mac OS X 10.12.4系统 + Parallels Desktop 12 Pro Edition)

Hadoop2.7.3 多台主机完全分布式搭建(Mac OS X 10.12.4系统) 前言 由于学校课程实验的要求,特意需要搭建hadoop的完全分布式系统,所以自己就蛋疼的配了,可惜关于MAC系统的Hadoop搭建材料太少,而且真正的基于校园网的配置基本上没有(基本是在一台电脑上进行,因此当在多台电脑上运行会有许多bug),因此这里想要能够将自己搭的过程想要分享给大家,可能有些配置的解释没有那么全面,所以希望大家见谅?? 环境 基于Mac OSX 10.12.4(Sierra).Ubuntu

如何保护自己的颈椎?

关注者 21774 被浏览 1329818 161 个回答 Amos 我心之外,再无他法. 收录于 知乎周刊 · 所有坐在电脑前盯着显示屏的知友们,请先检查一下:1. 您的脖子现在是向前下方弯曲的,还是直的?2. 您的视线往身体前方看的,还是往下盯着的?3. 您的脑袋是正往前凑的,还是保持处于自然位置,耳朵与肩膀处于同一水平? 其实啊,颈椎之所以会生病,除了外伤和真菌感染影响,现代都市人大多是由于长期的积累性损伤.当我们日复一日的使用错误的姿势工作.打字.睡觉,慢慢的不知不觉间我们颈椎旁的肌肉.

糙米 米糠 麸皮

吃出健康来——谷疗篇 序言 中国的食疗学是独具特色的. 首先,中国食疗学是中国医药学的重要组成.食疗理论与中医药学理论是一致性.重视对食疗对象的整体研究,所谓辨证饮食,根据食疗对象的体质.健康状况.患病性质.季节.地理环境等诸因素,决定饮食服用的方式. 其次,在食疗中提倡防治兼宜的饮食法,取用合宜的饮食方式,保护脏腑,防病治病,以求其抗衰老,延年益寿. 并在食疗方剂的组成上,力求对症,同时讲究食疗食品的烹制法,保持食品以色.香.味之美,使食用者乐于接受.使食用者不受良药苦口之罪,而病体自愈,其功

探父小记

从2000年开始,我将父母从农村带出来一起生活,再后来,由山西到了山东.母亲的离世,给父亲的生活带来了巨大的改变.他执意要留在家乡.几经适应,生活模式基本确定为,取暖季住在太原的姐姐家,而不需要在室内取暖了,他就一人生活在农村老家,姐姐和哥哥能够经常回去探望. 父亲已经年近8旬,身体尚好,只是腿脚不再利索.我一直以来的心愿,就是每年两个假期,都能够保证陪老父住一段时间.今年是落实暑假计划的第一年,随着明年儿子参加高考,这件事情将更有保证. 原计划将看望老父放在开学前,不过还是尽可能早回去了.听姐

好网站搜集整理(吐血推荐)

http://www.MrPrint.cn/  你今天印书了么?免费将你的博客翻印成书 http://www.logomaker.cn  你可以制作出很有专业水准的动态logo,有很多的样式供你选择 http://www.google.com/gwt/n   可以访问任何网页的Google隐藏入口 http://www.gifup.com   在线制作GIF动画的网站,很有趣可以自己动手制作自己喜欢的gif动画,方法也很简单,哈哈,我们也可以秀一下自己的动画了! http://www.hi-id

我上了985,211,才发现自己一无所有 | 或者,也不能这么说

我是在很久以后才意识到原来那些看起来光鲜亮丽的人心里也是在自卑的. 这个发现很偶然,是有一次我的学霸舍友回来,非常非常不开心,趴在桌子上很久很久没有起来. 我打着炉石呢,觉得不对劲回过头说你怎么了.她抬起头来说,哎,我才发现人与人的差距这么大.你不知道我今天参加讨论课,有个女生全英文演讲多精彩,那么流利,轮到我就磕磕巴巴的. 我说没事你也挺厉害,天天回来就学习,演讲不行,咱考试还考不了高分吗? 我那很厉害的舍友说,不是这样的,你知道吗,不光英文,那个女生长得也特别好看,妆容也精致,站在台上那么的