2017-03-07 86 views
-1

我正在使用虚拟操作系统作为我的任务的一部分。内存是大小为[300] [4]的二维数组。将内存的内容从int转换为char

问题是,当我打印它的内容时,它们显示为整数值,即使在将其类型化为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 

所以我要做的就是生成一个随机存储器例如,如果帧的值是20,则GD10PD10LR10SR40H存储在位置200.

(PTR(页表寄存器))的位置,然后为帧生成另一个随机数并乘以

所以问题是当我打印它的内容,例如内存位置200其显示内容71(G值),当它在显示71后显示而不是'G'。我也尝试添加48(ASCII值为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]);   
      } 
     }