?
Solved

Basic Java Program: Comparing three floating point numbers and printing the smallest number

Posted on 2008-10-21
12
Medium Priority
?
1,420 Views
Last Modified: 2013-11-23
Hello!

I am still attempting to teach myself JAVA. I trying to write a program that prompts for three floating point numbers that have no more than three decimals and compare them. I am then trying to get it to output the smallest number. It seemed like a simple program and it probably is. I am just so new to java. Can anyone see what I am doing wrong?
/**
 * @(#)minimum3.java
 *
 * minimum3 application
 *
 * @author 
 * @version 1.00 2008/10/21
 */
 import java.util.Scanner; 
 
public class minimum3 {
    
    public static void main(String[] args) {
    	
    Scanner input = new Scanner(System.in );
    
    int number1;
    int number2;
    int number3;
    
    
    System.out.print( "Enter first number: ");
    	number1 = input.nextInt();
    	
    System.out.print( "Enter second number: ");
    	number2 = input.nextInt();
    	
    System.out.print( "Enter third number: ");
    	number3 = input.nextInt();
    
    
    if ( number1 < number2 ) && ( number 1 < number3 )
    		System.out.printf( "Smallest number is: %d\n, number1);
    		
    if ( number2 < number3 ) && ( number 2 < number1 )
    		System.out.printf( "Smallest number is: %d\n, number2);
    		
    if ( number3 < number 2) && ( number 3 < number1 )
    		System.out.printf( "Smallest number is: %d\n, number3);
    
 
}

Open in new window

0
Comment
Question by:Joseph Moody
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 7
  • 4
12 Comments
 
LVL 2

Expert Comment

by:rnevet
ID: 22767494
Well if you copy pasted it.. then you are missing closing  " in your printf calls to start with.
In bold:
System.out.printf( "Smallest number is: %d\n", number2);

0
 
LVL 6

Expert Comment

by:manuel_m
ID: 22767540
You did not closed the System.out.printf.
Should be -> System.out.printf( "Smallest number is: %d\n", number1);
" after \n

The if condition should be:
if (condition) {
   // your code
}

// in your case
// see the additional braces for the condition
if ( ( number1 < number2 ) && ( number 1 < number3 ) ) {
  System.out.printf( "Smallest number is: %d\n", number1);
}

Open in new window

0
 
LVL 22

Author Comment

by:Joseph Moody
ID: 22767550
Thanks! I corrected that. I also saw I didn't have a closing bracket at the end. I am getting an "illegal start of expression" at line 32. Any clue as to why?
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 6

Expert Comment

by:manuel_m
ID: 22767554
You also should capitalize your class name.
minimum3  to Minimum3 (and file name to Minimum3.java)
0
 
LVL 6

Expert Comment

by:manuel_m
ID: 22767588
see code snippet. The closing bracket of your main method is missing.
public class minimum3 {
    
    public static void main(String[] args) {
        // your code
    } // this bracket is missing!
}

Open in new window

0
 
LVL 22

Author Comment

by:Joseph Moody
ID: 22767620
Thanks manuel_m! I made the changes but I am getting ')' expected at line 32 (along with a bunch of other errors).
/**
 * @(#)Minimum3.java
 *
 * Minimum3 application
 *
 * @author 
 * @version 1.00 2008/10/21
 */
 import java.util.Scanner; 
 
public class Minimum3 {
    
    public static void main(String[] args) {
    	
    Scanner input = new Scanner(System.in );
    
    int number1;
    int number2;
    int number3;
    
    
    System.out.print( "Enter first number: ");
    	number1 = input.nextInt();
    	
    System.out.print( "Enter second number: ");
    	number2 = input.nextInt();
    	
    System.out.print( "Enter third number: ");
    	number3 = input.nextInt();
    
    
  if ( ( number1 < number2 ) && ( number 1 < number3 ) ) 	
{
  System.out.printf( "Smallest number is: %d\n", number1);
}
 
  if ( ( number2 < number1 ) && ( number 2 < number3 ) ) 
{
  System.out.printf( "Smallest number is: %d\n", number2);
}
 
if ( ( number3 < number2 ) && ( number 3 < number1 ) ) 
{
  System.out.printf( "Smallest number is: %d\n", number3);
}
 
    
    }
}

Open in new window

0
 
LVL 6

Expert Comment

by:manuel_m
ID: 22767643
You have the three variables
number1
number2
number3
In your if condition you are trying to check number 1 and number 2 with a blank.
Variables, methods, etc. do not have any blanks in their names!
0
 
LVL 22

Author Comment

by:Joseph Moody
ID: 22767685
Ok. That makes sense. How do I fix that though?
0
 
LVL 6

Expert Comment

by:manuel_m
ID: 22767715
Just remove the blanks from the variable names in line 32, 37 and 42.

// line 32: replaced "number 1" with "number1"
if ( (number1 < number2) && (number1 < number3) ) {
// etc...

Open in new window

0
 
LVL 6

Accepted Solution

by:
manuel_m earned 2000 total points
ID: 22767719
If you still want to check for floating point numbers you have to change the type of your 3 number variables to float.
float number1;
...

And getting the float from the input you have to take the method  input.nextFloat();

You also should think about an exception handling, if the user types not a float number (i.e. abc instead of 1.234).
Here you get more information: http://java.sun.com/docs/books/tutorial/essential/exceptions/
0
 
LVL 22

Author Closing Comment

by:Joseph Moody
ID: 31508293
Thank you so much for all of the help! I did not even see that I had those spaces!
0
 
LVL 6

Expert Comment

by:manuel_m
ID: 22767883
You're welcome :-)
0

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

By the end of 1980s, object oriented programming using languages like C++, Simula69 and ObjectPascal gained momentum. It looked like programmers finally found the perfect language. C++ successfully combined the object oriented principles of Simula w…
In this post we will learn how to make Android Gesture Tutorial and give different functionality whenever a user Touch or Scroll android screen.
This video teaches viewers about errors in exception handling.
This tutorial explains how to use the VisualVM tool for the Java platform application. This video goes into detail on the Threads, Sampler, and Profiler tabs.
Suggested Courses

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question