首页 > 其他 > 详细

课堂练习--电梯调度

时间:2015-04-18 23:34:33      阅读:283      评论:0      收藏:0      [点我收藏+]

一、题目要求

•石家庄铁道大学基础大楼一共有四部电梯,每层都有人上下,电梯在每层都停。信1201-1班的XXX东觉得在每层都停觉得不耐烦。
•由于楼层不太高,在上下课高峰期时时,电梯从一层上行,但只允许停在某一楼层。在一楼时,每个乘客选择自己的目的层,电梯则自动计算出应停的楼层。
•问电梯停在那一楼层,能够保证这次乘坐电梯的所有乘客爬楼梯的层数之和最少。
二、设计思想
这次的电梯的设计题目一开始我其实想明白了,但是老师后来讲了半天结果又说迷糊了。。。所以今天做作业之前看了一下同学们的设计思想,发现跟我一开始想的都差不多,就是挨个楼层都算一遍 求绝对值就好了,然后最小值就是最小的楼层数了。这次想用java编写程序,因为要做大作业就是要用java,所以这次的实验代码算是抄的同学得了。。不过是自己看明白了。。费了一下午总算是编了一个除了helloworld以外的第二个java程序了。
三、程序源代码
 1 package 电梯调度;
 2 import java.util.Arrays;
 3 import java.util.Scanner;
 4 public class 电梯代码 {
 5 
 6     public static void main(String[] args) {
 7         // TODO Auto-generated method stub
 8         Scanner input=new Scanner(System.in);
 9         System.out.print("请输入楼梯人数:");
10         int n=input.nextInt();
11         int shuzu[]=new int [n];
12         int sum[]=new int[18];
13         for(int a=0;a<n;a++){
14             System.out.print("请输入楼层:");
15             shuzu[a]=input.nextInt( );
16         }
17         for(int i=0;i<18;i++){
18             for(int j=0;j<n;j++)
19             {
20                 sum[i]=sum[i]+Math.abs(shuzu[j]-(i+1));
21             }
22         }
23         int c=0;
24         for(int i=0;i<18;i++)
25         {
26             if(sum[i]<sum[0])
27             {
28                 sum[0]=sum[i];
29                 c=i+1;
30             }  
31         }
32         System.out.println("所停楼层为"+(c)+"");
33         System.out.print("楼层数目为"+(sum[0])+"");
34     }    
35 }

 四、运行结果截图

技术分享技术分享

五、总结体会

这次是第一次用java,还不太熟悉,但基本的思想什么的还是那样的,就是函数会有些不同,以后会继续努力的。这次相当于完全抄了一个程序,下次会自己再去想一个的。。。

课堂练习--电梯调度

原文:http://www.cnblogs.com/gaiiiiiiii/p/4438120.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!