weixin_36144640 2017-04-04 16:47 采纳率: 0%
浏览 1338

java程序:看看我错哪里了

老师留的作业:将小写数字转换成大写且带单位

我的程序

import java.util.Scanner;
import java.util.Arrays;
class Zi{

public static void main(String[] args) {

    char[] zi = {'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'};
    char[] level = {' ','拾','百','千','万','拾','百','千','亿','拾','百','千'};
    Scanner sc = new Scanner(System.in);
    System.out.println("#");
    String hanzi = sc.next();
    char[] a = hanzi.toCharArray();

    int[] m = new int[a.length];
    char[] n = new char[2*(a.length)];

    for(int i = 0; i < a.length; i++){
        m[i] = a[i] - '0';
    }

    for(int i = 0; i < 2 *(a.length); i += 2){
        n[i] = zi[m[i]];
        n[i + 1] = level[a.length - i] ;
    }

    String output = new String(n);
    System.out.println(output);
}

}

程序可以编译
但运行就会出错 像这样:
d:\code\0331>javac -encoding utf8 Zi.java

d:\code\0331>java Zi
#
112234
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 6
at Zi.main(Zi.java:22)

求大神解答 感激不敬

  • 写回答

9条回答 默认 最新

  • 007Detective 2017-04-04 17:22
    关注

    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 6
    这个错是说你数组越界了
    at Zi.main(Zi.java:22)
    说明数组越界是第22行导致的,你再看看?

    评论

报告相同问题?

悬赏问题

  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多