我觉得关键在于为什么 :MCMXCVII = 1997  不懂罗马计数法。

解决方案 »

  1.   

    M CM VC VII 才对吧?
      

  2.   

    如果这样算:
    M=1000
    CM=900
    XC=50
    VII=7
    我算怎么得1957了?呵呵
    不会算..
    我这是用的一个判断,前一个字符如果小于后一个,那么就用它所谓的"减法"表示.但结果不对.
      

  3.   

    package mytest.base;/**
     * 此处插入类型说明。
     * 创建日期:(2002-10-22 13:51:46)
     * @author:YCats
     */
    public class Rome {
    String[][] romeNumber;
    /**
     * Rome 构造子注解。
     * 
     */
    public Rome() {
    romeNumber = new String[4][2];
    result = new String[4];
    romeNumber[0][0] = new String("I");
    romeNumber[0][1] = new String("V");
    romeNumber[1][0] = new String("X");
    romeNumber[1][1] = new String("L");
    romeNumber[2][0] = new String("C");
    romeNumber[2][1] = new String("D");
    romeNumber[3][0] = new String("M");
    for (int i = 0; i < 4; i++) {
    result[i] = "";
    } }
    /**
     * 启动应用程序。
     * @param args 命令行自变量数组
     */
    public static void main(java.lang.String[] args) {
    Rome r = new Rome();
    r.getResult(1898); }
    private java.lang.String[] result;
    /**
    * 处理函数。
    * 创建日期:(2002-10-22 14:07:08)
    * @param ayear int 输入年份(目前不能处理>5000年)

    */
    public void getResult(int ayear) { //a按位数存放年数
    int[] a = new int[4];
    String syear = Integer.toString(ayear);
    for (int i = syear.length(); i > 0; i--) {
    a[i - 1] = Integer.parseInt(String.valueOf(syear.charAt(syear.length() - i)));
    }
    for (int i = 0; i < a.length; i++) {
    if (a[i] < 4) {
    for (int j = 0; j < a[i]; j++)
    result[i] = result[i] + romeNumber[i][0];
    }
    else
    if (a[i] == 4) {
    result[i] = romeNumber[i][0] + result[i];
    }
    else
    if (a[i] == 5) {
    result[i] = romeNumber[i][1];
    }
    else
    if (a[i] < 9) {
    result[i] = romeNumber[i][1];
    for (int j = 5; j < a[i]; j++)
    result[i] = result[i] + romeNumber[i][0];
    }
    else {
    result[i] = romeNumber[i][0] + romeNumber[i + 1][0];
    }
    }
    for (int i = result.length; i > 0; i--)
    System.out.print(result[i - 1] + " "); }
    }
      

  4.   

    to:  mjjhappy (mjjhappy)  
    是不是路径的问题啊?我哪里好像有个打包的语句.
    我是在visual age for java下写的,写的很急,也没做输入。main函数里用了固定的值调功能函数
      

  5.   

    to:  mjjhappy (mjjhappy)  
    是不是路径的问题啊?我哪里好像有个打包的语句.
    我是在visual age for java下写的,写的很急,也没做输入。main函数里用了固定的值调功能函数
      

  6.   

    没办法,我不会case语法啊,if 语法也是试了很久才通了。