import java.io.*;
public class reque
{public static void main(String agrs[])
{
String a[]={"一","二","三","四","五","六","七"};
int b,c;
  
 try
    { 
     b=(int)System.in.read();
      c=b-1;
      System.out.println(a[c]);
     }
  catch(IOException e)
  {System.out.println("error");}
  
 }
 
}
运行后编译好象说是数组越界 哪个大哥指点下

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【zhaomaoyu】截止到2008-07-17 19:58:46的历史汇总数据(不包括此帖):
    发帖的总数量:2                        发帖的总分数:20                       每贴平均分数:10                       
    回帖的总数量:2                        得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:2                        结贴的总分数:20                       
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:100.00%               结分的百分比:100.00%                  
    无满意结贴率:0.00  %               无满意结分率:0.00  %                  
    敬礼!
      

  2.   

    从键盘读入的是ASCII,不是数值。换为数值即可。即c=b-1; ==>c=(b-1)-48; ;
      

  3.   

      b = (int) System.in.read();
    这里有问题。
    使用Scanner来读数据吧
      

  4.   

    从键盘上得到的字符类型,转成INT 应该都有40多了吧,当然是数组越界 了