源代码:
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失败,判决运行时错误。 这意味着程序的执行没有正确完成。请记住始终使用退出代码0“。”
终止代码代码中缺少什么?
答案 0 :(得分:2)
似乎需要将类称为Main。
http://code.google.com/p/collatz-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);
将Uglynumbers
更改为Main
。