gpt4 book ai didi

Java - 错误消息帮助

转载 作者:行者123 更新时间:2023-12-01 16:06:10 27 4
gpt4 key购买 nike

在代码中,mem是Class Memory和getMDR和getMAR ruturn ints。当我尝试编译代码时出现以下错误......我该如何解决这个问题?

Computer.java:25: write(int,int) in Memory cannot be applied to (int)
Input.getInt(mem.write(cpu.getMDR()));
^
Computer.java:28: write(int,int) in Memory cannot be applied to (int)
mem.write(cpu.getMAR());

这是计算机的代码:

class Computer{
private Cpu cpu;
private Input in;
private OutPut out;
private Memory mem;
public Computer()
{
Memory mem = new Memory(100);
Input in = new Input();
OutPut out = new OutPut();
Cpu cpu = new Cpu();
System.out.println(in.getInt());
}
public void run()
{
cpu.reset();
cpu.setMDR(mem.read(cpu.getMAR()));
cpu.fetch2();
while (!cpu.stop())
{
cpu.decode();
if (cpu.OutFlag())
OutPut.display(mem.read(cpu.getMAR()));
if (cpu.InFlag())
Input.getInt(mem.write(cpu.getMDR()));
if (cpu.StoreFlag())
{
mem.write(cpu.getMAR());
cpu.getMDR();
}
else
{
cpu.setMDR(mem.read(cpu.getMAR()));
cpu.execute();
cpu.fetch();
cpu.setMDR(mem.read(cpu.getMAR()));
cpu.fetch2();
}
}
}

这是内存的代码:

class Memory{
private MemEl[] memArray;
private int size;
public Memory(int s)
{size = s;
memArray = new MemEl[s];
for(int i = 0; i < s; i++)
memArray[i] = new MemEl();
}
public void write (int loc, int val)
{if (loc >=0 && loc < size)
memArray[loc].write(val);
else
System.out.println("Index Not in Domain");
}
public int read (int loc)
{return memArray[loc].read();
}
public void dump()
{
for(int i = 0; i < size; i++)
if(i%1 == 0)
System.out.println(memArray[i].read());
else
System.out.print(memArray[i].read());
}
}

这是 getMAR 和 getMDR 的代码:

public int getMAR()
{
return ir.getOpcode();
}
public int getMDR()
{
return mdr.read();
}

最佳答案

您的 Memory 类有一个方法 write(int, int)。你用一个 int 来调用它。就好像它是 write(int) 一样。

Java 提示:“Computer.java:28: 内存中的 write(int,int) 无法应用于 (int)”。因此,要么您缺少位置(loc)参数,要么缺少值(val)参数;取决于代码应该实际执行的操作。

关于Java - 错误消息帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2535737/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com