本帖最后由 xiaohuai1223 于 2011-12-29 17:48:28 编辑

解决方案 »

  1.   

    String in = args[0];//这里要求你传一个参数给main函数通过命令行给main函数传参:
    java Word QHDX
      

  2.   

    数据越界了,k不能用x.length来作为限制吧
      

  3.   

    正确的代码如下:public static void main(String[] args) { String[][] x = { { "QHDX", "清华大学" }, { "DISE", "土木工程" }, { "WOSF", "中国" } };
    int k;
    String in = "";
    if (args != null && args.length > 0) {//你的程序问题主要出在这里,args 开始的时候为空
    in = args[0];
    }
    if ((k = find_e(x, in)) != -1)
    System.out.println(x[k][1]);
    else if ((k = find_c(x, in)) != -1)
    System.out.println(x[k][0]);
    else
    System.out.println("***");
    } static int find_e(String[][] x, String y) {
    for (int k = 0; k < x.length; k++)
    if (x[k][0].equals(y))
    return k;
    return -1;
    } static int find_c(String[][] x, String y) {
    for (int k = 0; k < x.length; k++)
    if (x[k][1].equals(y))
    return k;
    return -1;
    }