-3

源代码:

import java.util.Arrays;


class Uglynumbers {

/**
 * @param arg
 */
public static void main(String[] args) {
    // TODO Auto-generated method stub
    long[] ugly= new long[1510];
    long inter1,inter2,inter3;
    int count=0;
    boolean found1=false,found2=false,found3=false;

    ugly[0]=1;
    ugly[1]=2;
    ugly[2]=3;
    ugly[3]=5;
    count=4;
    for (int i=1; i<1500;i++)
    {
        found1=found2=found3=false;
        inter1= ugly[i]*2;
        inter2= ugly[i]*3;
        inter3= ugly[i]*5;

        for(int z=count-1;z>=0;z--)
        {
            if((inter1>ugly[z]) && (inter2>ugly[z]) && (inter3>ugly[z]))
                break;
            else
            {
             if(ugly[z]==inter1)
                found1=true;
             if(ugly[z]==inter2)
                found2=true;
             if(ugly[z]==inter3)
                found3=true;
            }

            if( found1 && found2 && found3)
                break;
        }

        if(!found1)
        {

            ugly[count]=inter1;
            count+=1;

        }

        if(!found2)
        {

            ugly[count]=inter2;
            count+=1;

        }

        if(!found3)
        {

            ugly[count]=inter3;
            count+=1;

        }

        Arrays.sort(ugly,0,count);


        if(count>=1500)
            break;

        }


System.out.println("The 1500'th ugly number is "+ ugly[1499]);


System.exit(0);


}

};

当我在 Eclipse 中运行此代码时,它工作正常。但是当我给它 UVA 在线判断时,出现以下运行时错误:“”136 - Ugly Numbers has failed with verdict Runtime error。这意味着您的程序的执行没有正确完成。请记住始终使用退出代码 0“终止您的代码。”

代码中缺少什么?

4

1 回答 1

2

似乎它需要将类称为 Main。

http://code.google.com/p/collat​​z-deandalm/issues/detail?id=13

编辑:

整个 Java 规范:

http://uva.onlinejudge.org/index.php?option=com_content&task=view&id=15&Itemid=30

Java 规范:提交的 Java 程序必须在单个源代码(不是 .class)文件中。不过,您可以在此文件中添加任意数量的类。此文件中的所有类不得位于任何包中。

所有程序都必须从 Main 类中的静态 main 方法开始。

不要使用公共类:即使 Main 也必须是非公共的,以避免编译错误。

使用缓冲 I/O 以避免由于过度刷新而超出时间限制。

作为参考,我们提供了一个示例 Java 代码

摆脱这个:

System.exit(0);

并更改UglynumbersMain.

于 2012-05-31T19:05:08.103 回答