【发布时间】:2012-09-17 18:52:29
【问题描述】:
我的 OS 类作业的一部分要求我用 Java 创建一个包含各种字段的 Process Control Block 类。我已经创建了包含所有不同字段的类,例如名称、状态、到达时间等。但是当被要求这样做时,我被卡住了:
- 寄存器设置值(“RegisterSet”类的对象,包含以下字段:XAR、XDI、XDO、PC、IR、EMIT、RR、PSW、R0、R1、R2、R3、R4、R5、R6、 R7)。
似乎我必须创建另一个名为 RegisterSet 的类,其中包含所有这些不同的字段,但是我一直坚持我应该如何做到这一点,然后是如何在我的 PCB 类中创建设置值。 ..
任何帮助将不胜感激。
这就是我所拥有的。我有 RegisterSet 类,每个 Register 都有 setter 和 getter,然后在我的 PCB 类中,我有一个 setValues 函数,如下所示:
public void setValues(String XAR,
String XDO, String PC, String IR,
String EMIT, String RR, String PSW,
String R0, String R1, String R2,
String R3, String R4, String R5, String R6,
String R7){
RegisterSet reg = new RegisterSet();
reg.setXAR(XAR);
reg.setXDO(XDO);
reg.setPC(PC);
reg.setIR(IR);
reg.setEMIT(EMIT);
reg.setRR(RR);
reg.setPSW(PSW);
reg.setR0(R0);
reg.setR1(R1);
reg.setR2(R2);
reg.setR3(R3);
reg.setR4(R4);
reg.setR5(R5);
reg.setR6(R6);
reg.setR7(R7);
}
然后我有运行我在 RegisterSet 类中创建的 ToString() 的 getValues 方法:
public String getValues(){
RegisterSet reg = new RegisterSet();
return reg.ToString();
}
最后,这是我试图在我的 sim 中运行的内容:
//Remaining are Registers
String xar = st.nextToken();
String xdi = st.nextToken();
String xdo = st.nextToken();
String pc = st.nextToken();
String ir = st.nextToken();
String emit = st.nextToken();
String rr = st.nextToken();
String psw = st.nextToken();
String r0 = st.nextToken();
String r1 = st.nextToken();
String r2 = st.nextToken();
String r3 = st.nextToken();
String r4 = st.nextToken();
String r5 = st.nextToken();
String r6 = st.nextToken();
String r7 = st.nextToken();
PCB.setValues(xar, xdi, xdo, pc, ir, emit, rr, psw,
r0, r1, r2, r3, r4, r5, r6, r7);
我尝试编译时遇到的错误是这样的:
required: String,String,String,String,String,String,String,String,String,String,String,String,String,String,String
found: String,String,String,String,String,String,String,String,String,String,String,String,String,String,String,String
reason: actual and formal argument lists differ in length
基本上,我是从许多进程中读取不同的细节,将数据填充到PCB中,然后将PCB添加到Process Table中,这实际上只是一个ArrayList。之后我遍历 ArrayList,并打印出每个进程。
【问题讨论】:
-
发布您的一些代码/类,我们也许可以看到您的错误在哪里。
标签: java operating-system