-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 クラスの static main メソッドで開始する必要があります。

パブリック クラスを使用しないでください。コンパイル エラーを回避するために、Main でさえ非パブリックにする必要があります。

バッファリングされた I/O を使用して、過度のフラッシュによる時間制限の超過を回避します。

参考として、サンプル Java コードを提供します。

これを取り除きます:

System.exit(0);

に変更UglynumbersMainます。

于 2012-05-31T19:05:08.103 に答える