Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 2 of 2
  1. #1
    New to the CF scene
    Join Date
    Jan 2012
    Posts
    5
    Thanks
    1
    Thanked 0 Times in 0 Posts

    Help, I'm Confused

    Write a program named Median.java that asks the user for three integers and outputs the median.
    I have to do this using if else statements. It seems really easy, but I can't figure it out. Help!

    Here's my code:
    Code:
    import java.util.*;
    
    public class Median {
    
    	public static void main(String[] args) {
    	
    		Scanner console = new Scanner(System.in);
    		
    		System.out.println("Please enter number 1");
    		int max = console.nextInt();
    		int min = max;
    		int median = min;
    		
    		for (int i=2; i <= 3; i++) {
    			System.out.println("Please enter number "+i);
    			int enteredNumber = console.nextInt();
    			if (enteredNumber > max) {
    				max = enteredNumber;
    			}
    			else {
    				enteredNumber = median;
    			}
    			if (enteredNumber < min) {
    				min = enteredNumber;
    			}
    			else {
    				enteredNumber = median;
    			}
    		}
    		System.out.println("The median is: "+median);
    	}
    }
    When I run this it just gives me back the first number I entered.

  • #2
    God Emperor Fou-Lu's Avatar
    Join Date
    Sep 2002
    Location
    Saskatoon, Saskatchewan
    Posts
    16,979
    Thanks
    4
    Thanked 2,659 Times in 2,628 Posts
    The logic is half right, but you are overwriting the enteredNumber with that of the median which is backwards. Its easier than this though, with only 3 numbers:
    PHP Code:
    if (enteredNumber max)
    {
        
    median max;
        
    max enteredNumber;
    }
    else if (
    enteredNumber min)
    {
        
    median min;
        
    min enteredNumber;
    }
    else
    {
        
    median enteredNumber;

    If you can't use if/elseif, then the logic of if/elseif/else is identical to if/else(if/else).

    Also, in the future please select a title that better describes the issue you are having.


  •  

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •