小春网

 找回密码
 注册账号
12
返回列表 发新帖
楼主: 志村
收起左侧

[IT 交流] ★★★想实现一个スケジュール的功能★★★

[复制链接]
 楼主| 发表于 2011-12-15 22:34:31 | 显示全部楼层
sundf 发表于 2011-12-15 22:10
看了一下,没想出来结果睡着了,年纪大了

姜还是老的辣嘛
回复

使用道具 举报

发表于 2011-12-15 23:24:04 | 显示全部楼层
本帖最后由 憨吃迷糊睡 于 2011-12-15 23:25 编辑

顶顶
回复

使用道具 举报

 楼主| 发表于 2011-12-16 02:16:47 | 显示全部楼层
憨吃迷糊睡 发表于 2011-12-15 23:24
顶顶

还弄成高亮了啊 版主敬你一杯{s:1:005}
回复

使用道具 举报

发表于 2011-12-16 22:13:08 | 显示全部楼层

  1. public class Test {

  2.         /**
  3.          * @param args
  4.          */
  5.         public static void main(String[] args) {
  6.                 // TODO Auto-generated method stub
  7.                
  8.                 int machineforjob[][] = new int[4][4];
  9.                 int timeforjob[][] = new int[4][4];
  10.                 int timeforjobbefore[][] = new int[4][5];
  11.                 machineforjob[1][1]=1;
  12.                 machineforjob[1][2]=2;
  13.                 machineforjob[1][3]=3;
  14.                 machineforjob[2][1]=1;
  15.                 machineforjob[2][2]=3;
  16.                 machineforjob[2][3]=2;               
  17.                 machineforjob[3][1]=3;
  18.                 machineforjob[3][2]=1;
  19.                 machineforjob[3][3]=2;
  20.                
  21.                 timeforjob[1][1]=2;
  22.                 timeforjob[1][2]=1;
  23.                 timeforjob[1][3]=2;
  24.                 timeforjob[2][1]=1;
  25.                 timeforjob[2][2]=3;
  26.                 timeforjob[2][3]=2;               
  27.                 timeforjob[3][1]=2;
  28.                 timeforjob[3][2]=2;
  29.                 timeforjob[3][3]=1;
  30.                
  31.                 timeforjobbefore[1][1]=0;
  32.                 timeforjobbefore[1][2]=2;
  33.                 timeforjobbefore[1][3]=3;
  34.                 timeforjobbefore[2][1]=0;
  35.                 timeforjobbefore[2][2]=1;
  36.                 timeforjobbefore[2][3]=4;               
  37.                 timeforjobbefore[3][1]=0;
  38.                 timeforjobbefore[3][2]=2;
  39.                 timeforjobbefore[3][3]=4;
  40.                
  41.                 int jobstatus[] = new int[4];
  42.                 char chart1[]=new char[20];
  43.                 char chart2[]=new char[20];
  44.                 char chart3[]=new char[20];
  45.                 for (int i=0;i<20;i++){
  46.                         chart1[i]='0';
  47.                         chart2[i]='0';
  48.                         chart3[i]='0';
  49.                 }
  50.                
  51.                 int machine1last=0;
  52.                 int machine2last=0;
  53.                 int machine3last=0;
  54.                
  55.                 String input[]={"Job3","Job2","Job3","Job1","Job3","Job1","Job2","Job1","Job2"};
  56.                
  57.                 for (int i=0;i<8;i++){
  58.                        
  59.                         int jobnum=new Integer(input[i].substring(3)).intValue();
  60.                         jobstatus[jobnum]++;
  61. //                       
  62.                         int pos=0;

  63.                        
  64.                         switch (jobnum){

  65.                         case 1:
  66.                                 switch(machineforjob[jobnum][jobstatus[jobnum]]){

  67.                                 case 1:
  68.                                         while(chart1[pos]!='0'||pos<timeforjobbefore[jobnum][jobstatus[jobnum]]||pos<machine1last){
  69.                                                 pos++;
  70.                                         }
  71.                                         for(int j=0;j<timeforjob[jobnum][jobstatus[jobnum]];j++){
  72.                                                 chart1[pos+j]='1';
  73.                                                 machine1last++;
  74.                                                 timeforjobbefore[jobnum][jobstatus[jobnum]+1]=pos+j+1;
  75.                                         }
  76.                                        
  77.                                         break;
  78.                                 case 2:
  79.                                         while(chart2[pos]!='0'||pos<timeforjobbefore[jobnum][jobstatus[jobnum]]||pos<machine2last){
  80.                                                 pos++;
  81.                                         }
  82.                                         for(int j=0;j<timeforjob[jobnum][jobstatus[jobnum]];j++){
  83.                                                 chart2[pos+j]='1';
  84.                                                 machine2last++;
  85.                                                 timeforjobbefore[jobnum][jobstatus[jobnum]+1]=pos+j+1;
  86.                                         }
  87.                                         break;
  88.                                 case 3:
  89.                                         while(chart3[pos]!='0'||pos<timeforjobbefore[jobnum][jobstatus[jobnum]]||pos<machine3last){
  90.                                                 pos++;
  91.                                         }
  92.                                         for(int j=0;j<timeforjob[jobnum][jobstatus[jobnum]];j++){
  93.                                                 chart3[pos+j]='1';
  94.                                                 machine3last++;
  95.                                                 timeforjobbefore[jobnum][jobstatus[jobnum]+1]=pos+j+1;
  96.                                         }
  97.                                         break;
  98.                                 default:
  99.                                 }
  100.                                 break;
  101.                                
  102.                                 case 2:
  103.                                         switch(machineforjob[jobnum][jobstatus[jobnum]]){

  104.                                         case 1:
  105.                                                 while(chart1[pos]!='0'||pos<timeforjobbefore[jobnum][jobstatus[jobnum]]||pos<machine1last){
  106.                                                         pos++;
  107.                                                 }
  108.                                                 for(int j=0;j<timeforjob[jobnum][jobstatus[jobnum]];j++){
  109.                                                         chart1[pos+j]='2';
  110.                                                         machine1last++;
  111.                                                         timeforjobbefore[jobnum][jobstatus[jobnum]+1]=pos+j+1;
  112.                                                 }
  113.                                                 break;
  114.                                         case 2:
  115.                                                 while(chart2[pos]!='0'||pos<timeforjobbefore[jobnum][jobstatus[jobnum]]||pos<machine2last){
  116.                                                         pos++;
  117.                                                 }
  118.                                                 for(int j=0;j<timeforjob[jobnum][jobstatus[jobnum]];j++){
  119.                                                         chart2[pos+j]='2';
  120.                                                         machine2last++;
  121.                                                         timeforjobbefore[jobnum][jobstatus[jobnum]+1]=pos+j+1;
  122.                                                 }
  123.                                                 break;
  124.                                         case 3:
  125.                                                 while(chart3[pos]!='0'||pos<timeforjobbefore[jobnum][jobstatus[jobnum]]||pos<machine3last){
  126.                                                         pos++;
  127.                                                 }
  128.                                                 for(int j=0;j<timeforjob[jobnum][jobstatus[jobnum]];j++){
  129.                                                         chart3[pos+j]='2';
  130.                                                         machine3last++;
  131.                                                         timeforjobbefore[jobnum][jobstatus[jobnum]+1]=pos+j+1;
  132.                                                 }
  133.                                                 break;
  134.                                         default:
  135.                                         }
  136.                                 break;
  137.                                 case 3:
  138.                                         switch(machineforjob[jobnum][jobstatus[jobnum]]){

  139.                                         case 1:
  140.                                                
  141.                                                 while(chart1[pos]!='0'||pos<timeforjobbefore[jobnum][jobstatus[jobnum]]||pos<machine1last){
  142.                                                         pos++;
  143.                                                 }
  144.                                                 for(int j=0;j<timeforjob[jobnum][jobstatus[jobnum]];j++){
  145.                                                         chart1[pos+j]='3';
  146.                                                         machine1last++;
  147.                                                         timeforjobbefore[jobnum][jobstatus[jobnum]+1]=pos+j+1;
  148.                                                 }
  149.                                                 break;
  150.                                         case 2:
  151.                                                 while(chart2[pos]!='0'||pos<timeforjobbefore[jobnum][jobstatus[jobnum]]||pos<machine2last){
  152.                                                         pos++;
  153.                                                 }
  154.                                                 for(int j=0;j<timeforjob[jobnum][jobstatus[jobnum]];j++){
  155.                                                         chart2[pos+j]='3';
  156.                                                         machine2last++;
  157.                                                         timeforjobbefore[jobnum][jobstatus[jobnum]+1]=pos+j+1;
  158.                                                 }
  159.                                                 break;
  160.                                         case 3:
  161.                                                 while(chart3[pos]!='0'||pos<timeforjobbefore[jobnum][jobstatus[jobnum]]||pos<machine3last){
  162.                                                         pos++;
  163.                                                 }
  164.                                                 for(int j=0;j<timeforjob[jobnum][jobstatus[jobnum]];j++){
  165.                                                         chart3[pos+j]='3';
  166.                                                         machine3last++;
  167.                                                         timeforjobbefore[jobnum][jobstatus[jobnum]+1]=pos+j+1;
  168.                                                 }
  169.                                                 break;
  170.                                         default:
  171.                                         }
  172.                                         break;
  173.                                                
  174.                         default:
  175.                         }

  176.                 }
  177.                
  178.                 System.out.println(chart1);
  179.                 System.out.println(chart2);
  180.                 System.out.println(chart3);
  181.                
  182.                
  183.                
  184.         }

  185. }
复制代码
不会画图,输出的1为job1,2为job2,3为job3,0为空白
随即自己做吧。
回家没事做的,代码很乱,不好意思。

评分

参与人数 1 +88 收起 理由
憨吃迷糊睡 + 88 很给力

查看全部评分

回复

使用道具 举报

发表于 2011-12-26 14:47:35 | 显示全部楼层
sundf 发表于 2011-12-16 22:13
不会画图,输出的1为job1,2为job2,3为job3,0为空白
随即自己做吧。
回家没事做的,代码很乱,不好意思。 ...

我靠,你太有时间啦
回复

使用道具 举报

发表于 2011-12-31 18:14:03 | 显示全部楼层
考院时考过的甘特图 早忘了。。。  话说给代码的同学实在太闲了。。
回复

使用道具 举报

发表于 2012-1-6 15:10:10 | 显示全部楼层
你也太狠了。不劳而获啊,这个至少要2-3周,设计,制造,没有50万下不来吧。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小春网
常务客服微信
微信订阅号
手机客户端
扫一扫,查看更方便! 快速回复 返回顶部 返回列表