首页 > 其他分享 >动手动脑01

动手动脑01

时间:2024-09-27 22:46:54浏览次数:7  
标签:01 String 动脑 System 动手 planInformations println te out

动手动脑01

重新编写java测试00

Planinformation

public class PlanInformation {
//    变量id为整型,表示日报流水号,依次加一。
//    变量planid 为字符串类型 String,表示产品生产批次号(例如:2312-110,有8 位字符组成,前四位表示年月,后三位表示序号)。
//    变量planname为字符串类型 String,表示产品名称(例如:“表体”)。
//    变量process为String 类型,表示当前工序名称。(例如:“10.00 .射蜡”数字表示工序号,字符表示工序名称)。
//    变量nextprocess为String 类型,表示下一接收工序名称。(例如:“11.00 .修蜡”含义同上)。
//    变量operator为String类型,表示当前工序的操作者。
//    变量recipient为String类型,表示下一道工序的接受者。
//    变量plannumber为整型,表示该产品定要要求的产品数量。
//    变量innumber为整型,表示从上一道工序的接收的合格产品总数。
//    变量outnumber为整型,表示当前工序的产品转出总数。
//    变量missnumber为整型,表示当前工序的产品丢失数量。
//    变量badnumber为整型,表示当前工序的产品废品数量。
//    变量inspectednumber为整型,表示当前工序的产品待检验数量。
//    变量statement为整型,表示该日报记录的状态,0表示初始计划,1表示日报提交,2表示日报确认。
    private int id;
    private String planid;
    private String planname;
    private String process;
    private String nextprocess;
    private String operator;
    private String recipient;
    private int plannumber;
    private int innumber;
    private int outnumber;
    private int missnumber;
    private int badnumber;
    private int inspectednumber;
    private int statement;

    public PlanInformation() {
    }

    public PlanInformation(
            int id,
    String planid,
    String planname,
    String process,
    String nextprocess,
    String operator,
    String recipient,
    int plannumber,
    int innumber,
    int outnumber,
    int missnumber,
    int badnumber,
    int inspectednumber,
    int statement) {
        this.badnumber = badnumber;
        this.id = id;
        this.innumber = innumber;
        this.inspectednumber = inspectednumber;
        this.missnumber = missnumber;
        this.nextprocess = nextprocess;
        this.operator = operator;
        this.outnumber = outnumber;
        this.planid = planid;
        this.planname = planname;
        this.plannumber = plannumber;
        this.process = process;
        this.recipient = recipient;
        this.statement = statement;
    }

    public int getBadnumber() {
        return badnumber;
    }

    public void setBadnumber(int badnumber) {
        this.badnumber = badnumber;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public int getInnumber() {
        return innumber;
    }

    public void setInnumber(int innumber) {
        this.innumber = innumber;
    }

    public int getInspectednumber() {
        return inspectednumber;
    }

    public void setInspectednumber(int inspectednumber) {
        this.inspectednumber = inspectednumber;
    }

    public int getMissnumber() {
        return missnumber;
    }

    public void setMissnumber(int missnumber) {
        this.missnumber = missnumber;
    }

    public String getNextprocess() {
        return nextprocess;
    }

    public void setNextprocess(String nextprocess) {
        this.nextprocess = nextprocess;
    }

    public String getOperator() {
        return operator;
    }

    public void setOperator(String operator) {
        this.operator = operator;
    }

    public int getOutnumber() {
        return outnumber;
    }

    public void setOutnumber(int outnumber) {
        this.outnumber = outnumber;
    }

    public String getPlanid() {
        return planid;
    }

    public void setPlanid(String planid) {
        this.planid = planid;
    }

    public String getPlanname() {
        return planname;
    }

    public void setPlanname(String planname) {
        this.planname = planname;
    }

    public int getPlannumber() {
        return plannumber;
    }

    public void setPlannumber(int plannumber) {
        this.plannumber = plannumber;
    }

    public String getProcess() {
        return process;
    }

    public void setProcess(String process) {
        this.process = process;
    }

    public String getRecipient() {
        return recipient;
    }

    public void setRecipient(String recipient) {
        this.recipient = recipient;
    }

    public int getStatement() {
        return statement;
    }

    public void setStatement(int statement) {
        this.statement = statement;
    }
    public void out(){
        System.out.println("***********************************************************\n"+
                           "石家庄铁道大学无限23软件开发有限公司\n" +
                           "Mes系统2023版***********************************************************\n" +
                           "产品批次:"+planid+"\n" +
                           "产品名称:"+planname+"\n" +
                           "计划数量:"+plannumber+"\n" +
                           "该产品入库操作已完成,是否提交(Y/N)\n" +
                            "**********************************************************");

    }

}

PlanManagement

import java.util.Scanner;

public class PlanManagement {
    Scanner sc=new Scanner(System.in);
    int index;
    PlanInformation []planInformations=new PlanInformation[100];
   private String []de={"",
           "10.射蜡","柳xx",
           "20.修蜡","藤xx",
           "30.面层",	"郝xx",
           "40.封浆",	"杨xx",
           "50.熔化",	"刘xx",
           "60.切割",	"陶xx",
           "70.精磨",	"阎xx",
           "80.调型",	"郝xx",
           "90.检验",	"刘xx",
           "没有","无"
   };
   public void ui(){
       System.out.println("***********************************************************\n"+
               "             石家庄铁道大学无限23软件开发有限公司\n" +
               "                        Mes系统2023版\n" +
               "***********************************************************\n" +
               "                          1、生成计划\n" +
               "                          2、提交日报\n" +
               "                          3、确认日报\n" +
               "                          4、统计进度\n" +
               "**********************************************************");

   }

    public PlanManagement() {

           index=0;
         int t;
         do{
             ui();
         t= sc.nextInt();
      switch (t){

          case 1:
              //创建计划
              creatPlan();
              break;
          case 2:
             //提交日表
              submit();
              break;

          case 3:
             //确认日报
              confirm();
              break;

          case 4:
             //统计
              stastic();
              break;
          default:
              System.out.println("输入错误");

      }
         }while(true);
    }
    //    变量id为整型,表示日报流水号,依次加一。
//    变量planid 为字符串类型 String,表示产品生产批次号(例如:2312-110,有8 位字符组成,前四位表示年月,后三位表示序号)。
//    变量planname为字符串类型 String,表示产品名称(例如:“表体”)。
//    变量process为String 类型,表示当前工序名称。(例如:“10.00 .射蜡”数字表示工序号,字符表示工序名称)。
//    变量nextprocess为String 类型,表示下一接收工序名称。(例如:“11.00 .修蜡”含义同上)。
//    变量operator为String类型,表示当前工序的操作者。
//    变量recipient为String类型,表示下一道工序的接受者。
//    变量plannumber为整型,表示该产品定要要求的产品数量。
//    变量innumber为整型,表示从上一道工序的接收的合格产品总数。
//    变量outnumber为整型,表示当前工序的产品转出总数。
//    变量missnumber为整型,表示当前工序的产品丢失数量。
//    变量badnumber为整型,表示当前工序的产品废品数量。
//    变量inspectednumber为整型,表示当前工序的产品待检验数量。
//    变量statement为整型,表示该日报记录的状态,0表示初始计划,1表示日报提交,2表示日报确认。
    private void creatPlan(){
       String planid,planname;
       int plannumber;
        System.out.println("***********************************************************\n"+
                "             石家庄铁道大学无限23软件开发有限公司\n" +
                "                        Mes系统2023版\n" +
                "***********************************************************" );
        System.out.print(  "                  产品批次:" );
        planid=sc.next();
        while(!checkPlanid(planid)){
            System.out.println("不符合要求重新输入");
            planid=sc.next();
        }
        System.out.print(  "                  产品名称:");
           planname= sc.next();
//        while(!checkPlanname(planname)){
//            System.out.println("不符合要求重新输入");
//            planid=sc.next();
//        }
        System.out.print("                    计划数量:");
        plannumber=sc.nextInt();
        System.out.println("**********************************************************");
        PlanInformation planInformation=new PlanInformation(1,planid,planname,de[1],de[3],de[2],de[4],plannumber,plannumber,0,0,0,0,0);
        planInformation.out();
        String str=sc.next();
        if(str.equals("Y")){
        planInformations[index]=planInformation;
        index++;
            System.out.println("录入成功");
        }
    }
    private  boolean checkPlanid(String planid){
       if(planid.length()!=8)return false;
       for(int i=0;i<planid.length();i++){
           if(i==4){
               return planid.charAt(i)=='-';
           }
           else  {
               if(planid.charAt(i)<'0'||planid.charAt(i)>'9')return false;
           }


       }
       return true;
    }
//    private boolean checkPlanname(String planname){
//
//    }
    private int find(String str){
        for (int i = 0; i < index; i++) {
            if(str.equals(planInformations[i].getPlanid()))return i;
        }
        return -1;
    }
    private void submit(){
       String str;
       int outNumber;
       int missNumber,waitNumber,badNumber;
       int innumber;
        System.out.println("***********************************************************\n"+
                                    "石家庄铁道大学无限23软件开发有限公司\n" +
                                            "Mes系统2023版\n"+
                           "***********************************************************\n" +
                                           "请输入产品批次号:");
                                 str=sc.next();
        System.out.println("**********************************************************");
                  int te=find(str);
         if(te==-1) System.out.println("不存在该产品批次信息");
         else {
             if(planInformations[te].getStatement()==0){
                 System.out.println("***********************************************************\n"+
                                     "         石家庄铁道大学无限23软件开发有限公司\n" +
                                     "                 Mes系统2023版\n"+
                                     "***********************************************************");
                 System.out.print(                "                1、产品批次:"+planInformations[te].getPlanid()+"\n" );
                 System.out.print(                   "                2、产品名称:"+planInformations[te].getPlanname()+"\n" );
                 System.out.print(                  "                3、计划数量:"+planInformations[te].getPlannumber()+"\n" );
                 System.out.println(                 "                4、当前工序:"+de[planInformations[te].getId()*2-1] );
                 System.out.println(                   "                5、下一工序:"+de[planInformations[te].getId()*2-1+2] );
                 System.out.println(                  "                6、操作员:"+ de[planInformations[te].getId()*2]);
                 System.out.println("                7、接收员:("+de[planInformations[te].getId()*2+2]);
                 System.out.print(  "                8、上一道工序转入数量:" );
                 if(planInformations[te].getId()==1) {
                     System.out.println(planInformations[te].getPlannumber());
                     innumber=planInformations[te].getPlannumber();
                 }else {
                     do{

                         innumber=sc.nextInt();
                         if(innumber>planInformations[te].getPlannumber())
                             System.out.println("输入错误.重新输入");
                     }
                     while(innumber<planInformations[te].getPlannumber());
                 }
                 System.out.print(  "                9、转出总数:" );
                 do{

                     outNumber=sc.nextInt();
                     if(outNumber>innumber)
                         System.out.println("输入错误.重新输入");
                 }
                 while(outNumber>innumber);
                 System.out.print( "                10、丢失数量:" );
                 missNumber=sc.nextInt();
                 System.out.print("                11、废品数量:" );
                 badNumber=sc.nextInt();
                 System.out.print("                12、待检验数量:");
                waitNumber=sc.nextInt();
                 System.out.println("***********************************************************");
                 while(innumber!=missNumber+badNumber+waitNumber+outNumber){
                     System.out.println("请重新输入 10、丢失数量,11、废品数量,12、待检验数量");
                     missNumber=sc.nextInt();
                     badNumber=sc.nextInt();
                     waitNumber=sc.nextInt();
                 }
                 System.out.println("是否提交(Y/N)");
                 String st=sc.next();
                 if(st.equals("Y")){
                 planInformations[te].setId(planInformations[te].getId());
                 planInformations[te].setInnumber(outNumber);
                 planInformations[te].setOutnumber(outNumber);
                 planInformations[te].setMissnumber(missNumber);
                 planInformations[te].setBadnumber(badNumber);
                 planInformations[te].setInspectednumber (waitNumber);
                 planInformations[te].setStatement(1);
                 }
             }
             else{
                 System.out.println("***********************************************************\n"+
                         "         石家庄铁道大学无限23软件开发有限公司\n" +
                         "                 Mes系统2023版\n"+
                         "***********************************************************");
                 System.out.print(                "                1、产品批次:"+planInformations[te].getPlanid()+"\n" );
                 System.out.print(                   "                2、产品名称:"+planInformations[te].getPlanname()+"\n" );
                 System.out.print(                  "                3、计划数量:"+planInformations[te].getPlannumber()+"\n" );
                 System.out.println(                 "                4、当前工序:"+de[planInformations[te].getId()*2-1] );
                 System.out.println(                   "                5、下一工序:"+de[planInformations[te].getId()*2-1+2] );
                 System.out.println(                  "                6、操作员:"+ de[planInformations[te].getId()*2]);
                 System.out.println("                7、接收员:("+de[planInformations[te].getId()*2+2]);
                 System.out.print(  "                8、上一道工序转入数量:" );
                 if(planInformations[te].getId()==1) {
                     System.out.println(planInformations[te].getPlannumber());
                     innumber=planInformations[te].getPlannumber();
                 }
                 innumber=planInformations[te].getInnumber();
                 System.out.println(innumber);
                 System.out.print(  "                9、转出总数:" );
                 do{
                     outNumber=sc.nextInt();
                     if(outNumber>innumber)
                         System.out.println("输入错误.重新输入");
                 }
                 while(outNumber>innumber);
                 System.out.print( "                10、丢失数量:" );
                 missNumber=sc.nextInt();
                 System.out.print("                11、废品数量:" );
                 badNumber=sc.nextInt();
                 System.out.print("                12、待检验数量:");
                 waitNumber=sc.nextInt();
                 System.out.println("***********************************************************");
                 while(innumber!=missNumber+badNumber+waitNumber+outNumber){
                     System.out.println("请重新输入 10、丢失数量,11、废品数量,12、待检验数量");
                     missNumber=sc.nextInt();
                     badNumber=sc.nextInt();
                     waitNumber=sc.nextInt();
                 }
                 System.out.println("是否提交(Y/N)");
                 String st=sc.next();
                 if(st.equals("Y")){
                     planInformations[te].setId(planInformations[te].getId());
                     planInformations[te].setInnumber(innumber);
                     planInformations[te].setOutnumber(outNumber);
                     planInformations[te].setMissnumber(missNumber);
                     planInformations[te].setBadnumber(badNumber);
                     planInformations[te].setInspectednumber (waitNumber);
                     planInformations[te].setStatement(1);
                 }
             }
         }

    }
    public void confirm(){
       String str;
       int te;
       while(true) {
           System.out.println("***********************************************************\n" + "石家庄铁道大学无限23软件开发有限公司\n" +
                   "Mes系统2023版\n" + "***********************************************************\n" +
                   "请输入产品批次:");
           str = sc.next();
           System.out.println("**********************************************************");
          te=find(str);
           if(te==-1){
              System.out.println("找不到");
          }
          else break;
       }
          if(planInformations[te].getStatement()==1){
              System.out.println("***********************************************************\n"+"石家庄铁道大学无限23软件开发有限公司\n" +
                      "Mes系统2023版\n"+"***********************************************************\n" +
                      "1、产品批次:" +planInformations[te].getPlanid()+"\n"+
                      "2、产品名称:"+planInformations[te].getPlanname()+"\n" +
                      "3、计划数量:"+planInformations[te].getPlannumber()+"\n" +
                      "4、当前工序:"+de[planInformations[te].getId()*2-1]+"\n" +
                      "5、下一工序:"+de[planInformations[te].getId()*2+1]+"\n" +
                      "6、操作员:"+de[planInformations[te].getId()*2]+"\n" +
                      "7、接收员:"+de[planInformations[te].getId()*2+2]+"\n" +
                      "8、上一道工序转入数量:"+planInformations[te].getInnumber()+"\n" +
                      "9、转出总数:"+planInformations[te].getOutnumber()+"\n" +
                      "10、丢失数量:"+planInformations[te].getMissnumber()+"\n" +
                      "11、废品数量:"+planInformations[te].getBadnumber()+"\n" +
                      "12、待检验数量:"+planInformations[te].getInspectednumber()+"\n"+
                      " **********************************************************");
              System.out.println("是否确认(Y/N)");
              String st=sc.next();
              if(st.equals("Y")){
                      planInformations[te].setStatement(planInformations[te].getStatement()+1);
                  planInformations[te].setId(planInformations[te].getId()+1);
                  planInformations[te].setInnumber( planInformations[te].getOutnumber());
                  planInformations[te].setBadnumber(0);
                  planInformations[te].setInspectednumber(0);
                  planInformations[te].setMissnumber(0);
                  System.out.println("***********************************************************\n"
                          +"石家庄铁道大学无限23软件开发有限公司\n" +
                          "Mes系统2023版\n"+"***********************************************************\n" +
                          "1、产品批次:"+planInformations[te].getPlanid()+"\n" +
                          "2、产品名称:"+planInformations[te].getPlanname()+"\n" +
                          "3、计划数量:"+planInformations[te].getPlannumber()+"\n" +
                          "4、当前工序:"+de[planInformations[te].getId()*2-1]+"\n" +
                          "5、下一工序:"+de[planInformations[te].getId()*2+1]+"\n" +
                          "6、操作员:"+de[planInformations[te].getId()*2]+"\n" +
                          "7、接收员:"+de[planInformations[te].getId()*2+2]+"\n" +
                          "8、上一道工序转入数量:"+planInformations[te].getInnumber()+"\n" +
                          "**********************************************************");
              }
          }

    }
    private void stastic(){
       int t=0;
        System.out.println("***********************************************************\n"+"石家庄铁道大学无限23软件开发有限公司\n" +
                "Mes系统2023版\n"
                +"***********************************************************\n" +
                "1、产品批次:"+planInformations[0].getPlanid()+"\n" +
                "2、产品名称:"+planInformations[0].getPlanname()+"\n" +
                "3、计划数量:"+planInformations[0].getPlannumber()+"\n" +
                "4、完成数量:"+planInformations[0].getInnumber()+"\n" +
                "5、剩余数量:"+(planInformations[0].getPlannumber()-planInformations[0].getInnumber())+"\n" +
                "**********************************************************");

    }
}

测试类

public class test {
    public static void main(String[] args) {
        PlanManagement p=new PlanManagement();
    }

}

枚举类

程序源码

public class EnumTest {

    public static void main(String[] args) {
        Size s=Size.SMALL;
        Size t=Size.LARGE;
        //s��t����ͬһ������
        System.out.println(s==t);  //
        //��ԭʼ����������
        System.out.println(s.getClass().isPrimitive());
        //���ַ�����ת��
        Size u=Size.valueOf("SMALL");
        System.out.println(s==u);  //true
        //�г���������ֵ
        for(Size value:Size.values()){
            System.out.println(value);
        }
    }

}
enum Size{SMALL,MEDIUM,LARGE};

运行结果

样例分析

(1)枚举类可以直接使用等于号来进行相同的判断的比较
(2)getClass()可以直接返回类,然后调用静态函数,valueof传入一个字符串,返回一个枚举值
(3)通过Size value:Size.values()来实现枚举值的遍历

浮点数的精度问题

问题引入

由于浮点数在内存中的存储问题,所以会使得在计算的时候存在误差.

解决方法

使用BigDecimal类,进行计算

标签:01,String,动脑,System,动手,planInformations,println,te,out
From: https://www.cnblogs.com/yuanshitianzun123/p/18435936

相关文章

  • java动手动脑-2024/9/27
    publicclassEnumTest{publicstaticvoidmain(String[]args){Sizes=Size.SMALL;Sizet=Size.LARGE;//s和t引用同一个对象?System.out.println(s==t);////是原始数据类型吗?System.out.println(s.getClass().i......
  • 动手动脑
    根据运行结果,我们可以得出以下结论:System.out.println(s==t);//false结论:在枚举类型中,即使它们属于同一个枚举类,不同的枚举常量也是不同的对象。因此,比较操作符==在这里返回false,说明s和t引用的是不同的枚举常量。System.out.println(s.getClass().isPrimitive())......
  • 动手动脑——数据类型的转换
    1.整数大小:整数类型的位数越大,能够表示的数值范围也越大。byte和short类型适合用于节省空间的场合,而int是最常见的整数类型,因为它提供了足够的范围和较好的性能。long类型则用于需要更大数值范围的场合。2.字符表示:char类型专门用于表示Unicode字符,其大小固定为16位,可以表示任何......
  • 动手动脑——原码,反码,补码
    在计算机科学中,原码、反码和补码是数字在计算机内部表示的一种方式,主要用于二进制数的运算,特别是负数的表示和运算。原码:原码是最直接的二进制表示方法,其中最高位是符号位,0表示正数,1表示负数。剩下的位表示数值的大小。例如,十进制数5的原码表示为:00000101(假设使用5位二进制数......
  • 动手动脑——同名变量的屏蔽原则
    在Java中,变量的“同名变量的屏蔽原则”通常指的是变量作用域的问题。当在不同的作用域中定义了同名的变量时,内部作用域的变量会“屏蔽”外部作用域的变量。这意味着在内部作用域中访问该变量名时,将会访问到内部作用域中定义的变量,而不是外部作用域中的变量。下面是一个简单的示例......
  • P9019 [USACO23JAN] Tractor Paths P 题解
    P9019[USACO23JAN]TractorPathsP题解难度其实绝对不止蓝题。先考虑第一问。维护任意两点之间的最短路是困难的,难以dp或是采取其它方法解决。难以算最短路就转换思路,考虑从\(x\)走\(p\)步能走到哪。考虑到这个东西是有单调性的,也就是说对于\(x<y<z\),从\(x\)能走到......
  • 网络编程Day01
    网络编程概述地球村信件计算机网络:计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统网络编程的目的:无线电台---传播交流信息,数据交换......
  • POL8901升级POL8903 2 PORT LVDS转MIPIDSI点屏+旋转,大批量出货物料
    LVDS输入:支持1或者2通道LVDS输入;支持最大1920x1080@60Hz输入;兼容VESA和JEIDA格式:通道内5条差分信号对,支持1clock/4data独立任意映射和极性翻转;MIPI输出:兼容DCS1.02,D-PHY1.2.DSI1.2andCSl-21.00;支持最大输出分辨率1080x1920@60Hz;5条差分信号对,支......
  • 9.25博客(动手动脑)
    四则运算importjava.util.Random;importjava.util.Scanner;publicclassArithmeticQuizGenerator{//主方法publicstaticvoidmain(String[]args){Scannerscanner=newScanner(System.in);Randomrandom=newRandom();//用户可以选择生成题目......
  • 信息学奥赛复赛复习05-CSP-J2020-01优秀的拆分-对数函数、自然对数、以2为底的对数、
    PDF文档回复:2024092712020CSP-J题目1优秀的拆分[题目描述]一般来说,一个正整数可以拆分成若干个正整数的和例如,1=1,10=1+2+3+4等。对于正整数n的一种特定拆分,我们称它为“优秀的”,当且仅当在这种拆分下,n被分解为了若干个不同的2的正整数次幂。注意,一个数x能......