0

Hi,

I just want to say thank you in advance to anyone that replies to this. I'm new to JAVA & my 4th assignment has got me stumped. I have to write a program that reads 4 integers and prints the largest and smallest value that the user entered (using joption pane) with no if statements. I also have to modify the addValue method with Math.min & Math.max methods. So far the computer is not responding to the users' input and giving me -.2147483648 for the smallest and .2147483647 for the largest. Please do not laugh I am just starting out. Once again any insight or help will be greatly appreciated. My soucre code is as follows:

class DataSet
{

    private int smallest;
    private int largest;


    //The constructor

    public DataSet()
    {
      smallest = Integer.MIN_VALUE;
      largest = Integer.MAX_VALUE;
    }

    public void addValue(int x)
    {       
      smallest = Math.min(smallest,largest);  
      largest = Math.max(smallest,largest);
    }

    public int getSmall()
    {

      return Math.min(smallest,largest);
    }

    public int getLarge()
    {

      return Math.max(smallest,largest);
    }

} 

import javax.swing.JOptionPane;

class DataSetTest
{
    public static void main(String[] args)
    {

       DataSet myDataSet = new DataSet();

       String input = JOptionPane.showInputDialog(
         "Please enter the first number:");
       int number1 = Integer.parseInt(input);

       input = JOptionPane.showInputDialog(
         "Please enter the second number:");
       int number2 = Integer.parseInt(input);

       input = JOptionPane.showInputDialog(
         "Please enter the third number:");
       int number3 = Integer.parseInt(input);

       input = JOptionPane.showInputDialog(
         "Please enter the fourth number:");
       int number4 = Integer.parseInt(input);

       myDataSet.addValue(number1);
       myDataSet.addValue(number2);
       myDataSet.addValue(number3);
       myDataSet.addValue(number4);

       System.out.println("The smallest number is " + myDataSet.getSmall());
       System.out.println("The largest number is  " + myDataSet.getLarge());

       System.exit(0);
   }
}

Edited by pyTony: fixed formating

2
Contributors
1
Reply
2
Views
13 Years
Discussion Span
Last Post by morans
0
public void addValue(int x)
{ 
smallest = Math.min(smallest,largest); 
largest = Math.max(smallest,largest);
}

should be

    public void addValue(int x)
    {
    smallest = Math.min(smallest, x);
    largest = Math.max(largest, x);
    }

Edited by happygeek: fixed formatting

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.