How do I display the largest number in a collection?

ryanbecker24
ryanbecker24 used Ask the Experts™
on
I am new to Java.

This is my code:

import java.util.ArrayList;

public class Numbers {
    private ArrayList<Double> numbers;

    public Numbers() {
        numbers = new ArrayList<Double>();
    }

    /**
     *Add a number to the collection in a client specified position or at the
     * end of the collection
     */
    public void addNumber(double number) {
        numbers.add(number);
    }

    /**
     * Display all numbers in the collection
     */
    public void displayNumbers() {
        int number = 0;

        while (number < numbers.size()) {
            System.out.println(numbers.get(number));
            number++;
        }
    }

    /**
     * Display all numbers in the collection organized in 2 categories, first
     * the positive numbers, second the negative numbers
     */
    public void displayNumbersInCategories() {
        System.out.println("Positive Numbers");

        int number = 0;

        while (number < numbers.size()) {
            if (numbers.get(number) >= 0.0) {
                System.out.println(numbers.get(number));
            }

            number++;
        }

        System.out.println("Negative Numbers");

        for (Double aNumber : numbers) {
            if (aNumber < 0.0) {
                System.out.println(aNumber);
            }
        }
    }

    /**
     * Display the sum of all numbers in the collection
     */
    public void displaySum() {
        double sum = 0.0;
        int length = this.numbers.size();
        int counter = 0;

        while (counter < length) {
            sum = sum + this.numbers.get(counter);
            counter++;
        }

        System.out.println(sum);
    }

    /**
     * Display 2 sums: the sum of all positive numbers in the collection and the
     * sum of all negative numbers in the collection
     */
    public void displaySumsInCategories() {
        double sum = 0.0;
        int length = this.numbers.size();
        int counter = 0;
        System.out.println("Positive Numbers");

        while (counter < length) {
            sum = sum + this.numbers.get(counter);
            counter++;
        }

        System.out.println(sum);
        // }
        System.out.println("Negative Numbers");

        for (Double aSum : numbers) {
            if (aSum < 0.0) {
                System.out.println(aSum);
            }
        }
    }

    /**
     * Display the average of all the positive numbers
     */

    public void displayPositiveAvg() {
        double sum = 0.0;
        int count = 0;
        for (Double number : numbers) {
            if (number > 0.0) {
                sum += number;
                count++;
            }
        }

        System.out.println("Average is " + (sum / count));
    }

    /**
     * Display the smallest number in the collection
     */

    public void displaySmallestNumber() {

        Double smallest = Double.MAX_VALUE;
        for (Double aNumber : numbers) {
            if (aNumber < smallest) {
                smallest = aNumber;
            }
        }
        System.out.println("number" + smallest);
}
 
/**
* Display the largest number in the collection
*/
public void displayLargestNumber() {
    Double largest = Double.MIN_VALUE;
    for(Double aNumber : numbers){
        if(aNumber < largest){
            largest = aNumber;
        }
    }
    System.out.println("number" + largest);
}

}
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®

Author

Commented:
If I type in 5 and 7. The largest number says number4.9E-324.
Java Developer
Top Expert 2010
Commented:
>         if(aNumber < largest){

that should be:

        if(aNumber > largest){

http://helpdesk.objects.com.au/java/how-do-i-find-the-largest-value-in-an-array

Author

Commented:
Thanks

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial