// // Triangle // // Author : K.J. Chan // Date : November 2008 // Language : Java // Description: This program checks to see if 3 numbers input by the user // represents a triangle and if so what sort of triangle // // Test Data : 1 2 3 - not a triangle // 1 1 1 - equilateral // 3 4 5 - right angle triangle // 3 2 2 - isosceles // 3 3 2 - isosceles // 4 5 6 - scalene import java.util.Scanner ; class triangleapp { ////////////////////// // Create an instance of the scanner for input ////////////////////// static Scanner input = new Scanner ( System.in ) ; ////////////////////// // method: get_positive_double // get a positive double - keep looping until we do ////////////////////// public static double get_positive_double() { double number ; boolean err_condition ; do { number = input.nextDouble() ; if ( err_condition = ( number <= 0.0 ) ) { System.out.println( "Number entered is incorrect - " + "please input a +ve double" ) ; } } while ( err_condition ) ; return ( number ) ; } ////////////////////// // method: main (the actual program) ////////////////////// public static void main( String[] args ) { ////////////////////// // Declarations ////////////////////// double side1, side2, side3 ; ////////////////////////////////////////// // CONSTANTS ////////////////////////////////////////// final int NOT_A_TRIANGLE = 0 ; final int EQUILATERAL = 1 ; final int ISOSCELES = 2 ; final int RIGHT_ANGLE = 3 ; final int SCALENE = 4 ; ////////////////////// // get side1, side2 and side3 ////////////////////// System.out.println( "Please input a number (double) for side 1" ) ; side1 = get_positive_double() ; System.out.println( "Please input a number (double) for side 2" ) ; side2 = get_positive_double() ; System.out.println( "Please input a number (double) for side 3" ) ; side3 = get_positive_double() ; System.out.printf( "the sides %4.2f %4.2f %4.2f ", side1, side2, side3 ) ; triangle thisone = new triangle( side1, side2, side3 ) ; switch ( thisone.get_triangletype() ) { case EQUILATERAL: System.out.println( "represent an equilateral triangle" ) ; break ; case ISOSCELES: System.out.println( "represent an isosceles triangle" ) ; break ; case RIGHT_ANGLE: System.out.println( "represent a right andgle triangle" ) ; break ; case SCALENE: System.out.println( "represent a scalene triangle" ) ; break ; default: System.out.println( "do NOT represent a triangle" ) ; } } }