# How do I display the largest number in a collection?

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® is a registered trademark of EXPERTS EXCHANGE®

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

Commented:
Thanks

Do more with

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