Solved

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

Posted on 2008-10-21
12
1,413 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
  • 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
 
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
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Suggested Solutions

Java contains several comparison operators (e.g., <, <=, >, >=, ==, !=) that allow you to compare primitive values. However, these operators cannot be used to compare the contents of objects. Interface Comparable is used to allow objects of a cl…
In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
Viewers learn about the “while” loop and how to utilize it correctly in Java. Additionally, viewers begin exploring how to include conditional statements within a while loop and avoid an endless loop. Define While Loop: Basic Example: Explanatio…
This video teaches viewers about errors in exception handling.

920 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

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now