作业二

一、EnumTest.java

1.分析运行结果
首先创建了两个Size类型的枚举常量引用s和t,分别指向Size.SMALL和Size.LARGE,然后比较它们是否引用同一个对象(s == t),由于它们是不同的枚举常量,所以结果为false。
然后检查枚举类型是否为原始数据类型(s.getClass().isPrimitive()),枚举不是原始数据类型,所以结果为false。
其次通过valueOf方法从字符串"SMALL"转换得到一个Size类型的枚举常量u,然后比较s和u,因为它们都指向Size.SMALL,所以结果为true。
最后使用values方法遍历并打印出Size枚举类型的所有值。
2.枚举知识点
枚举不是原始数据类型。
可以通过valueOf()方法获取枚举常量。
列出枚举的所有值可以用for循环+values()方法。

for(Size value:Size.values()){
			System.out.println(value);
		}

二、TestDouble

得数与真实得数有误差。因为使用double类型的数值进行计算,转换成二进制码时会有误差,其结果是不精确的。

三、

在 Java 中,字符串连接操作符是+。当执行这个语句时,它按照从左到右的顺序进行计算。首先遇到字符串"X+Y=",然后是变量X(值为100),由于前面是字符串,所以这里将X的值转换为字符串并进行连接,得到"X+Y=100"。接着遇到变量Y(值为200),继续将Y的值转换为字符串并连接到前面的结果上,最终得到"X+Y=100200"。
而第二次打印先计算X+Y,因为X = 100,Y = 200,所以X+Y = 300。然后将结果(300)与字符串"=X+Y"连接,得到"300=X+Y"。
四、操作间管理系统
PlanManagement类

/*
信2305-1 20234390 郭子婵
*/
package java03;
import java.util.Scanner;
public class PlanManagement {
	public static PlanInformation [] arr = new PlanInformation[5];
	public static Scanner sc = new Scanner(System.in);
    public static int maxIndex = -1;
    public static int id = 0;
    public static String [] pro={"1.射蜡","2.修蜡","3.面层","4.封浆","5.熔化","6.切割","7.精磨","8.调型","9.检验","10.完成"};
	public static void main(String[] args) {
		int select = 0;
		while(true) {
			System.out.println("***********************************************");
			System.out.println("      石家庄铁道大学无限23软件开发有限公司");
			System.out.println("            Mes系统2023版");
			System.out.println("***********************************************");
			System.out.println("              1、生成计划");
			System.out.println("              2、提交日报");
			System.out.println("              3、确认日报");
			System.out.println("              4、统计进度");
			System.out.println("***********************************************");
			System.out.println("请输入选项:");
			select = sc.nextInt();
			switch(select) {
			case 1:
				shengcheng();
				break;
			case 2:
				tijiao();
				break;
			case 3:
				queren();
				break;
			case 4:
				tongji();
				break;
			default:
				System.out.println("输入选项有误,请重新输入!");
				
			}
		
	}
		
	}

	private static void shengcheng() {
		while(true) {
			id++;
			++maxIndex;
			System.out.println("***********************************************");
			System.out.println("      石家庄铁道大学无限23软件开发有限公司");
			System.out.println("            Mes系统2023版");
			System.out.println("***********************************************");
			System.out.println("              1、产品批次");
			String name,planid;
			String pattern1 = "\\d{4}-\\d{3}$";
			int num;
			planid = sc.next();
			if(!planid.matches(pattern1)) {
				System.out.println("录入错误,请重新输入!");
				planid = sc.next();
			}
			System.out.println("              2、产品名称");
			name = sc.next();
			System.out.println("              3、计划数量");
			num = sc.nextInt();
			System.out.println("***********************************************");
			PlanInformation p = new PlanInformation(id,planid,name,num,0,0);
			System.out.println("***********************************************");
			System.out.println("      石家庄铁道大学无限23软件开发有限公司");
			System.out.println("            Mes系统2023版");
			System.out.println("***********************************************");
			System.out.println("            产品批次:"+planid);
			System.out.println("            产品名称:"+name);
			System.out.println("            计划数量:"+num);
			System.out.println("该产品入库操作已完成,是否提交(Y/N)");
			String choice;
			choice = sc.next();
			if(choice.equals("Y")) {
				arr[maxIndex] = p;
				return;
			}else {
				id--;
				maxIndex--;
			}

		}
	}

	private static void queren() {
		while(true){
			System.out.println("***********************************************");
			System.out.println("      石家庄铁道大学无限23软件开发有限公司");
			System.out.println("            Mes系统2023版");
			System.out.println("***********************************************");

			System.out.println("请输入产品批次号:xxxxxxxx");
			String planid;
			String pattern1 = "\\d{4}-\\d{3}$";
			planid = sc.next();
			if(!planid.matches(pattern1)) {
				System.out.println("录入错误,请重新输入!");
				planid = sc.next();
			}
			int sign = 0,i=0;
			for( i=0;i<=maxIndex;i++) {
				if(arr[i].getPlanid().equals(planid)) {
					sign = 1;
					break;
				}
			}
			if(sign == 1) {
				if(arr[i].getStatement() == 1) {
					System.out.println("***********************************************");
					System.out.println("      石家庄铁道大学无限23软件开发有限公司");
					System.out.println("            Mes系统2023版");
					System.out.println("***********************************************");
					System.out.println("1.产品批次号:"+planid);
					System.out.println("2.产品名称:"+arr[i].getPlanname());
					System.out.println("3.计划数量:"+arr[i].getPlannumber());
					System.out.println("4.当前工序:"+arr[i].getProcess());
					System.out.println("5.下一工序:"+arr[i].getNextprocess());
					System.out.println("6.操作员:"+arr[i].getOperator());
					System.out.println("7.接受员:"+arr[i].getRecipient());
	                System.out.println("8.上一道工序转入数量:"+arr[i].getInnumber());
	                System.out.println("9..转出总数:"+arr[i].getOutnumber());
	                System.out.println("10.丢失数量:"+arr[i].getMissnumber());
	                System.out.println("11.废品数量:"+arr[i].getBadnumber());
	                System.out.println("12.待检测数量:"+arr[i].getInspectednumber());
	    			PlanInformation p = new PlanInformation(arr[i].getId(),planid,arr[i].getPlanname(),arr[i].getProcess(),arr[i].getNextprocess(),arr[i].getOperator(),arr[i].getRecipient(),arr[i].getPlannumber(),arr[i].getInnumber(),arr[i].getOutnumber(),arr[i].getMissnumber(),arr[i].getBadnumber(),arr[i].getInspectednumber(),2);
	    			System.out.println("是否将修改信息保存(Y/N):");
	    			String choice;
	    			choice = sc.next();
	    			if(choice.equals("Y")) {
	    				
	    				arr[i].setProcess(arr[i].getNextprocess());
	    				arr[i].setOperator(arr[i].getNextprocess());
	    				arr[i].setStatement(2);
	    				int j=0;
	    				for( ;j<10;j++) {
	    					if(arr[i].getProcess().equals(pro[j]))
	    						break;
	    				}
	    				arr[i].setNextprocess(pro[j+1]);
	    				arr[i].setRecipient(pro[j+1]);
	    				arr[i].setInnumber(arr[i].getOutnumber());
	    				System.out.println("***********************************************");
						System.out.println("      石家庄铁道大学无限23软件开发有限公司");
						System.out.println("            Mes系统2023版");
						System.out.println("***********************************************");
						System.out.println("1.产品批次号:"+planid);
						System.out.println("2.产品名称:"+arr[i].getPlanname());
						System.out.println("3.计划数量:"+arr[i].getPlannumber());
						System.out.println("4.当前工序:"+arr[i].getProcess());
						System.out.println("5.下一工序:"+arr[i].getNextprocess());
						System.out.println("6.操作员:"+arr[i].getOperator());
						System.out.println("7.接受员:"+arr[i].getRecipient());
		                System.out.println("8.上一道工序转入数量:"+arr[i].getInnumber());
		                
	    				return;
	    			}
	    			
	    			
				}
				
			}else {
				System.out.println("库中没有此批次号");
				
			}
		
			
		}
		
	}

	private static void tijiao() {
		while(true){
		System.out.println("***********************************************");
		System.out.println("      石家庄铁道大学无限23软件开发有限公司");
		System.out.println("            Mes系统2023版");
		System.out.println("***********************************************");

		System.out.println("请输入产品批次号:xxxxxxxx");
		String planid;
		String pattern1 = "\\d{4}-\\d{3}$";
		planid = sc.next();
		if(!planid.matches(pattern1)) {
			System.out.println("录入错误,请重新输入!");
			planid = sc.next();
		}
		int sign = 0,i=0;
		for( i=0;i<=maxIndex;i++) {
			if(arr[i].getPlanid().equals(planid)) {
				sign = 1;
				break;
			}
		}
		if(sign == 1) {
			if(arr[i].getStatement() == 0) {
				System.out.println("***********************************************");
				System.out.println("      石家庄铁道大学无限23软件开发有限公司");
				System.out.println("            Mes系统2023版");
				System.out.println("***********************************************");
				System.out.println("1.产品批次号:"+planid);
				System.out.println("2.产品名称:"+arr[i].getPlanname());
				System.out.println("3.计划数量:"+arr[i].getPlannumber());
				System.out.println("4.当前工序:");
				String process,nextprocess,operator,recipient;
				int innumber,outnumber,missnumber,badnumber,inspectednumber;
				process = sc.next();
				System.out.println("5.下一工序:");
				nextprocess = sc.next();
				System.out.println("6.操作员:");
				operator = process;
				System.out.println("7.接受员:");
				recipient = nextprocess;
				innumber = 0;
				if(!process.equals(pro[0])) {
					System.out.println("8.上一道工序转入数量:");
                innumber = sc.nextInt();
				}
                System.out.println("9..转出总数:");
                outnumber = sc.nextInt();
                System.out.println("10.丢失数量:");
                missnumber = sc.nextInt();
                System.out.println("11.废品数量:");
                badnumber = sc.nextInt();
                System.out.println("12.待检测数量:");
                inspectednumber = sc.nextInt();
                if(!process.equals(pro[0])) {
                while(innumber != missnumber+badnumber+inspectednumber+outnumber) {
                	 System.out.println("9..转出总数:");
                     outnumber = sc.nextInt();
                     System.out.println("10.丢失数量:");
                     missnumber = sc.nextInt();
                     System.out.println("11.废品数量:");
                     badnumber = sc.nextInt();
                     System.out.println("12.待检测数量:");
                     inspectednumber = sc.nextInt();
                }
                }
        		PlanInformation p = new PlanInformation(id,planid,arr[i].getPlanname(),process,nextprocess,operator,recipient,arr[i].getPlannumber(),innumber,outnumber,missnumber,badnumber,inspectednumber,1);
        		System.out.println("是否将修改信息保存(Y/N):");
    			String choice;
    			choice = sc.next();
    			if(choice.equals("Y")) {
    				arr[i]=p;
    				return;
    			}
          
                
			}else if(arr[i].getStatement() == 2) {
				System.out.println("***********************************************");
				System.out.println("      石家庄铁道大学无限23软件开发有限公司");
				System.out.println("            Mes系统2023版");
				System.out.println("***********************************************");
				System.out.println("1.产品批次号:"+planid);
				System.out.println("2.产品名称:"+arr[i].getPlanname());
				System.out.println("3.计划数量:"+arr[i].getPlannumber());
				System.out.println("4.当前工序:"+arr[i].getProcess());
				System.out.println("5.下一工序:"+arr[i].getNextprocess());
				System.out.println("6.操作员:"+arr[i].getOperator());
				System.out.println("7.接受员:"+arr[i].getRecipient());
                System.out.println("8.上一道工序转入数量:"+arr[i].getInnumber());
                int outnumber,missnumber,badnumber,inspectednumber;
                System.out.println("9..转出总数:");
                outnumber = sc.nextInt();
                System.out.println("10.丢失数量:");
                missnumber = sc.nextInt();
                System.out.println("11.废品数量:");
                badnumber = sc.nextInt();
                System.out.println("12.待检测数量:");
                inspectednumber = sc.nextInt();
    			PlanInformation p = new PlanInformation(arr[i].getId(),planid,arr[i].getPlanname(),arr[i].getProcess(),arr[i].getNextprocess(),arr[i].getOperator(),arr[i].getRecipient(),arr[i].getPlannumber(),arr[i].getInnumber(),outnumber,missnumber,badnumber,inspectednumber,1);
    			System.out.println("是否将修改信息保存(Y/N):");
    			String choice;
    			choice = sc.next();
    			if(choice.equals("Y")) {
    				arr[i]=p;
    				return;
    			}
			}
			
		}else {
			System.out.println("库中没有此批次号");
			
		}
	
		
		}
		
	}

	private static void tongji() {
		System.out.println("***********************************************");
		System.out.println("      石家庄铁道大学无限23软件开发有限公司");
		System.out.println("            Mes系统2023版");
		System.out.println("***********************************************");

		for(int i=0;i<=maxIndex;i++) {
			if(arr[i].getProcess().equals("9.检验") )
			     System.out.println(arr[i]);
			else {
				System.out.println( "产品批次=" + arr[i].getPlanid() + ", 产品名称=" + arr[i].getPlanname() + ", 计划数量=" + arr[i].getPlannumber()
						+ ", 完成数量=0" + ",剩余数量="+arr[i].getPlannumber());
			}
		}
		
		
	}

}

PlanInformation类

/*
a信2305-1 20234390 郭子婵
*/
package java03;

public class PlanInformation {
	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 int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	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 String getProcess() {
		return process;
	}
	public void setProcess(String process) {
		this.process = process;
	}
	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 String getRecipient() {
		return recipient;
	}
	public void setRecipient(String recipient) {
		this.recipient = recipient;
	}
	public int getPlannumber() {
		return plannumber;
	}
	public void setPlannumber(int plannumber) {
		this.plannumber = plannumber;
	}
	public int getInnumber() {
		return innumber;
	}
	public void setInnumber(int innumber) {
		this.innumber = innumber;
	}
	public int getOutnumber() {
		return outnumber;
	}
	public void setOutnumber(int outnumber) {
		this.outnumber = outnumber;
	}
	public int getMissnumber() {
		return missnumber;
	}
	public void setMissnumber(int missnumber) {
		this.missnumber = missnumber;
	}
	public int getBadnumber() {
		return badnumber;
	}
	public void setBadnumber(int badnumber) {
		this.badnumber = badnumber;
	}
	public int getInspectednumber() {
		return inspectednumber;
	}
	public void setInspectednumber(int inspectednumber) {
		this.inspectednumber = inspectednumber;
	}
	public int getStatement() {
		return statement;
	}
	public void setStatement(int statement) {
		this.statement = statement;
	}
	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) {
		super();
		this.id = id;
		this.planid = planid;
		this.planname = planname;
		this.process = process;
		this.nextprocess = nextprocess;
		this.operator = operator;
		this.recipient = recipient;
		this.plannumber = plannumber;
		this.innumber = innumber;
		this.outnumber = outnumber;
		this.missnumber = missnumber;
		this.badnumber = badnumber;
		this.inspectednumber = inspectednumber;
		this.statement = statement;
	}
	
	public PlanInformation(int id,String planid, String planname, int plannumber,int outnumber,int statement) {
		super();
		this.id = id;
		this.planid = planid;
		this.planname = planname;
		this.plannumber = plannumber;
		this.outnumber = outnumber;
		this.statement = statement;
	}
	public PlanInformation() {
		super();
	}
	@Override
	public String toString() {
		int a = plannumber - outnumber;
		return "产品批次=" + planid + ", 产品名称=" + planname + ", 计划数量=" + plannumber
				+ ", 完成数量=" + outnumber + ",剩余数量="+a;
	
	}

	
}
posted @   guozichan  阅读(50)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示