Solved

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

Posted on 2008-10-21
12
1,416 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
Industry Leaders: 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 500 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

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!

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Should localization be done inside spring controller 5 37
servlet example 11 58
Using jdbcTemplate.batchUpdate to improve INSERT performance 6 27
JDBC performance 8 29
INTRODUCTION Working with files is a moderately common task in Java.  For most projects hard coding the file names, using parameters in configuration files, or using command-line arguments is sufficient.   However, when your application has vi…
Java had always been an easily readable and understandable language.  Some relatively recent changes in the language seem to be changing this pretty fast, and anyone that had not seen any Java code for the last 5 years will possibly have issues unde…
Viewers will learn about arithmetic and Boolean expressions in Java and the logical operators used to create Boolean expressions. We will cover the symbols used for arithmetic expressions and define each logical operator and how to use them in Boole…
This video teaches viewers about errors in exception handling.

749 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