0

配列からの売上または変数を比較し、最も売れている商品と最も売れていない商品を印刷できるコードを持っている人はいますか。私はいくつかのことを試しましたが、正確に機能させることはできません。

これが私のコードです。私が最も心配しているのは一番下にあります。

package album;

public class Certifier {

    public static void main(String[] args) {

Album zero = new Album(0, "Dark Side of the Moon", "Pink Floyd", 1973, 50000000);

        System.out.println("The album information for ablum 0 is: " + zero.toString());

        Album one = new Album(1, "Superficial", "Heidi Montag",  2010, 658);

        System.out.println("The album information for ablum 1 is: " + one.toString());

        Album two = new Album(2, "Fearless", "Taylor Swift", 2011, 3200000);

        System.out.println("The album information for ablum 2 is: " + two.toString());

        Album three = new Album(3, "Made Up", "Sample Band", 2011, 1300000);

        System.out.println("The album information for ablum 3 is: " + three.toString());

        Album four = new Album(4, "Concerto One Night", "Andrea Bocelli", 2011, 500008);

        System.out.println("The album information for ablum 4 is: " + four.toString());

        Album[] albums = new Album[4];
            albums[0] = zero;
            albums[1] = one;
            albums[2] = two;
            albums[3] = three;
            albums[4] = four;


            ((Comparable<String>) albums[0]).compareTo(albums[1]);

        System.out.println("The highest selling album is");
        for (int i=0; i< Album[].length; i++) {
            double highestSales;
            if (i.getSales()<highestSales)
                highestSales= i;
            return highestSales;

        }

    System.out.println("The lowest selling album is");
        for (int i=0; i< Album[].length; i++) {
            double lowestSales;
            if (i.getSales()<lowestSales)
                lowestSales= i.getSales();
            return i.getName + i.getArtist;
        }
    }
}
4

4 に答える 4

0

これまでにlowestSales設定するには、探している実際の最低値としてより高い値で初期化する必要があります。それは、Double.MAX_VALUEまたは以前に見つけた最高のセールである可能性があります (バグを修正したと仮定します)。もちろん、おそらく 0.0 で、highestSale も初期化する必要があります。

maximumSale の修正はhighestSales = i.getSales()、ループで割り当てることです。

于 2013-04-26T19:29:44.980 に答える
0
Album highestSellingAlbum;
double highestSales = 0;

for (int i=0; i< albums.length; i++) 
{
  if (albums[i].getSales() > highestSales)
  {
    highestSales = albums[i].getSales();
    highestSellingAlbum = albums[i];
  }
}

highestSellingAlbumAlbumクラスgetSales()に売上を返す適切なメソッドがあると仮定すると、最も売れているアルバムが含まれるようになりました。

于 2013-04-26T19:28:09.327 に答える