我正在使用虚拟操作系统作为我的任务的一部分。内存是一个大小为[300] [4]的二维数组。
问题是,当我打印其内容时,它们以整数值显示,即使在将其转换为char之后仍然是整数值 打印。
我面临的问题是
for(int i=0;i<300;i++)
{
for(int j=0;j<4;j++)
{
System.out.println("M["+i+"]["+j+"]="+M[i][j]);
}
}
即使在类型转换后,它也会显示整数值 注意:输入文件包含以下内容
$AMJ001100070003
GD10PD10LR10SR40H
$DTA
OPERATING
$END0011
所以我要做的是为PTR(Page表Register)生成一个随机存储器位置,然后为frame生成另一个随机数并将其乘以10,例如如果frame的值是20,那么GD10PD10LR10SR40H
存储在位置200。
所以问题是当我打印其内容时,例如内存位置200,其显示71(G的值),当在类型转换后显示71而不是&#39; G&#39;。我也尝试添加48( ASCII值为0)但没有影响。 请帮我解决这个问题。
我做错了
答案 0 :(得分:0)
这应该有效,使用Ascii字符范围将值转换为字符:
for(int i=0;i<300;i++)
{
for(int j=0;j<4;j++)
{
System.out.println("M["+i+"]["+j+"]="+(char)M[i][j]);
}
}