作业二
一、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;
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现