/* package whatever; // don't place package name! */
import java.util.* ;
import java.lang.* ;
import java.io.* ;
import java.util.Scanner ;
class numbersAssignment {
static int numberOne = 0 ;
static int numberTwo = 0 ;
static int numberThree = 0 ;
static int largest = 0 ;
static int smallest = 0 ;
static int product1 = 0 ;
static int sum = 0 ;
static int average = 0 ;
static boolean numbersDiffer = false ;
static int doItAgain = 1 ;
static Scanner input
= new Scanner
( System .
in ) ;
public static void main
( String [ ] args
) {
while ( doItAgain != 0 ) {
numbersDiffer = false ;
while ( numbersDiffer != true ) {
numberOne = getNumber( ) ;
numberTwo = getNumber( ) ;
numberThree = getNumber( ) ;
if ( verifyDiff( numberOne, numberTwo, numberThree) ) {
calcPrintNumbers( numberOne, numberTwo, numberThree) ;
numbersDiffer = true ;
}
}
//where it all goes wrong - doAgain() stuck...
doItAgain = ( doAgain( ) ) ;
}
} //main
/*
******************************************************************************
* getNumber: *
* This method will ask the user for the number that is to be used in the *
* program. All numbers MUST BE INTEGERS, and must use DIFFERENT values. * *
******************************************************************************/
public static int getNumber( )
{
int number = 0 ;
boolean done = false ;
while ( done != true ) {
try {
System .
out .
println ( "Please enter a UNIQUE integer for the program ===> " ) ; number = input.nextInt ( ) ;
if ( number <= 0 ) {
}
done = true ;
} //try
input.nextLine ( ) ;
System .
out .
println ( "Bad input, retry" ) ; } //catch
} //while
return number;
} //getNumber
/*
******************************************************************************
* calcPrintNumbers: *
* This method will recieve the three user input variables. The program *
* will then calculate and print, the SUM,AVERAGE,PRODUCT,LARGEST, as well*
* as the SMALLEST of the three numbers. It will then print the results, *
* AS WELL AS THE VALUES STORED IN THE THREE VARIABLES. *
******************************************************************************/
public static void calcPrintNumbers( int numberOne, int numberTwo, int numberThree)
{
System .
out .
println ( "The smallest number is: " + Math .
min ( numberOne,
Math .
min ( numberTwo, numberThree
) ) ) ; System .
out .
println ( "The largest number is: " + Math .
max ( numberOne,
Math .
max ( numberTwo, numberThree
) ) ) ; System .
out .
println ( "The average is: " + ( ( numberOne
+ numberTwo
+ numberThree
) / 3 ) ) ; System .
out .
println ( "The product is: " + Math .
multiplyExact ( numberOne,
Math .
multiplyExact ( numberTwo, numberThree
) ) ) ; System .
out .
println ( "The sum is: " + ( numberOne
+ numberTwo
+ numberThree
) ) ;
} //End of the calcSumPrint method
/*
*******************************************************************************
* doAgain: *
* This method will NOT receive incoming data, but it will it will *
* ask for, verify, and return the users choice of whether to continue the *
* program or not. The code looks for a choice of 1 to end the program, *
* ANY OTHER INTEGER will continue to run the program. *
******************************************************************************/
public static int doAgain( )
{
int usersChoice = 0 ;
System .
out .
println ( "Enter '0' to quit, or '1' to run again: " ) ; usersChoice = input.nextInt ( ) ;
return usersChoice;
} //End of the getChoice method
/*
*******************************************************************************
* verifyDiff: *
* This method accepts the three variable as arguments. It then compares all* *
* three to see if any values are the same. If they ARE, the method returns *
* a false, if all three variable are NOT the same, the method returns true.*
*******************************************************************************/
public static boolean verifyDiff( int numberOne, int numberTwo, int numberThree)
{
boolean allDiff = false ;
if ( numberOne != numberTwo && numberOne != numberThree && numberTwo != numberThree)
allDiff = true ;
else {
System .
out .
println ( "You tried to use a duplicate number, try again: " ) ; }
return allDiff;
} //End of the getChoice method
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgppbXBvcnQgamF2YS51dGlsLlNjYW5uZXI7CgpjbGFzcyBudW1iZXJzQXNzaWdubWVudCB7CgogICAgc3RhdGljIGludCBudW1iZXJPbmUgPSAwOwogICAgc3RhdGljIGludCBudW1iZXJUd28gPSAwOwogICAgc3RhdGljIGludCBudW1iZXJUaHJlZSA9IDA7CiAgICBzdGF0aWMgaW50IGxhcmdlc3QgPSAwOwogICAgc3RhdGljIGludCBzbWFsbGVzdCA9IDA7CiAgICBzdGF0aWMgaW50IHByb2R1Y3QxID0gMDsKICAgIHN0YXRpYyBpbnQgc3VtID0gMDsKICAgIHN0YXRpYyBpbnQgYXZlcmFnZSA9IDA7CiAgICBzdGF0aWMgYm9vbGVhbiBudW1iZXJzRGlmZmVyID0gZmFsc2U7CiAgICBzdGF0aWMgaW50IGRvSXRBZ2FpbiA9IDE7CiAgICBzdGF0aWMgU2Nhbm5lciBpbnB1dCA9IG5ldyBTY2FubmVyKFN5c3RlbS5pbik7CiAgIAogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewoKCiAgICAgICAgd2hpbGUgKGRvSXRBZ2FpbiAhPSAwKSB7CgkJCW51bWJlcnNEaWZmZXIgPSBmYWxzZTsKICAgICAgICAgICAgd2hpbGUgKG51bWJlcnNEaWZmZXIgIT0gdHJ1ZSkgewoKICAgICAgICAgICAgICAgIG51bWJlck9uZSA9IGdldE51bWJlcigpOwogICAgICAgICAgICAgICAgbnVtYmVyVHdvID0gZ2V0TnVtYmVyKCk7CiAgICAgICAgICAgICAgICBudW1iZXJUaHJlZSA9IGdldE51bWJlcigpOwogICAgICAgICAgICAgICAgaWYgKHZlcmlmeURpZmYobnVtYmVyT25lLCBudW1iZXJUd28sIG51bWJlclRocmVlKSkgewogICAgICAgICAgICAgICAgICAgIGNhbGNQcmludE51bWJlcnMobnVtYmVyT25lLCBudW1iZXJUd28sIG51bWJlclRocmVlKTsKICAgICAgICAgICAgICAgICAgICBudW1iZXJzRGlmZmVyID0gdHJ1ZTsKICAgICAgICAgICAgICAgIH0KCgogICAgICAgICAgICB9CiAgICAgICAgICAgIC8vd2hlcmUgaXQgYWxsIGdvZXMgd3JvbmcgLSBkb0FnYWluKCkgc3R1Y2suLi4KICAgICAgICAgICAgZG9JdEFnYWluID0gKGRvQWdhaW4oKSk7CgogICAgICAgIH0gCgogICAgfS8vbWFpbgoKCiAgICAgLyoKICAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgICAqIGdldE51bWJlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKICAgICAqICAgIFRoaXMgbWV0aG9kIHdpbGwgYXNrIHRoZSB1c2VyIGZvciB0aGUgbnVtYmVyIHRoYXQgaXMgdG8gYmUgdXNlZCBpbiB0aGUgICoKICAgICAqICAgIHByb2dyYW0uIEFsbCBudW1iZXJzIE1VU1QgQkUgSU5URUdFUlMsIGFuZCBtdXN0IHVzZSBESUZGRVJFTlQgdmFsdWVzLiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKICAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovICAgICAKICAgICAgICAgIHB1YmxpYyBzdGF0aWMgaW50IGdldE51bWJlcigpCiAgICAgICAgIHsKICAgICAgICAgICAgICAgIGludCBudW1iZXIgPSAwOyAgIAoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgYm9vbGVhbiBkb25lID0gZmFsc2U7CiAgICAgICAgICAgICAgICB3aGlsZSAoZG9uZSAhPSB0cnVlKSB7CiAgICAgICAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJQbGVhc2UgZW50ZXIgYSBVTklRVUUgaW50ZWdlciBmb3IgdGhlIHByb2dyYW0gPT09PiAgICIpOwogICAgICAgICAgICAgICAgICAgICAgICBudW1iZXIgPSBpbnB1dC5uZXh0SW50KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChudW1iZXIgPD0gMCl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgTnVtYmVyRm9ybWF0RXhjZXB0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgZG9uZSA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgfS8vdHJ5CiAgICAgICAgICAgICAgICAgICAgY2F0Y2ggKEV4Y2VwdGlvbiBtZXNzYWdlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0Lm5leHRMaW5lKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiQmFkIGlucHV0LCByZXRyeSIpOwogICAgICAgICAgICAgICAgICAgIH0vL2NhdGNoCgogICAgICAgICAgICAgICAgfS8vd2hpbGUKICAgICAgICAgICAgICAgIHJldHVybiBudW1iZXI7CgogICAgICAgICB9Ly9nZXROdW1iZXIKCiAgICAgLyoKICAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgICAqIGNhbGNQcmludE51bWJlcnM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKICAgICAqICAgICBUaGlzIG1ldGhvZCB3aWxsIHJlY2lldmUgdGhlIHRocmVlIHVzZXIgaW5wdXQgdmFyaWFibGVzLiBUaGUgcHJvZ3JhbSAgICoKICAgICAqICAgICB3aWxsIHRoZW4gY2FsY3VsYXRlIGFuZCBwcmludCwgdGhlIFNVTSxBVkVSQUdFLFBST0RVQ1QsTEFSR0VTVCwgYXMgd2VsbCoKICAgICAqICAgICBhcyB0aGUgU01BTExFU1Qgb2YgdGhlIHRocmVlIG51bWJlcnMuIEl0IHdpbGwgdGhlbiBwcmludCB0aGUgcmVzdWx0cywgICoKICAgICAqICAgICBBUyBXRUxMIEFTIFRIRSBWQUxVRVMgU1RPUkVEIElOIFRIRSBUSFJFRSBWQVJJQUJMRVMuICAgICAgICAgICAgICAgICAgICogICAgICAgIAogICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8gICAgICAgICAgIAogICAgICAgICAgcHVibGljIHN0YXRpYyB2b2lkIGNhbGNQcmludE51bWJlcnMoaW50IG51bWJlck9uZSwgaW50IG51bWJlclR3bywgaW50IG51bWJlclRocmVlKQogICAgICAgICB7CiAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJUaGUgc21hbGxlc3QgbnVtYmVyIGlzOiAiICsgTWF0aC5taW4obnVtYmVyT25lLCBNYXRoLm1pbihudW1iZXJUd28sIG51bWJlclRocmVlKSkpOwogICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiVGhlIGxhcmdlc3QgbnVtYmVyIGlzOiAiICsgTWF0aC5tYXgobnVtYmVyT25lLCBNYXRoLm1heChudW1iZXJUd28sIG51bWJlclRocmVlKSkpOwogICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiVGhlIGF2ZXJhZ2UgaXM6ICIgKyAoKG51bWJlck9uZSArIG51bWJlclR3byArIG51bWJlclRocmVlKSAvMykpOwogICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiVGhlIHByb2R1Y3QgaXM6ICIgKyBNYXRoLm11bHRpcGx5RXhhY3QobnVtYmVyT25lLCBNYXRoLm11bHRpcGx5RXhhY3QobnVtYmVyVHdvLCBudW1iZXJUaHJlZSkpICk7CiAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJUaGUgc3VtIGlzOiAiICsgKG51bWJlck9uZSArIG51bWJlclR3byArIG51bWJlclRocmVlKSk7CgoKICAgICAgICAgfS8vRW5kIG9mIHRoZSBjYWxjU3VtUHJpbnQgbWV0aG9kICAgICAgICAgCiAgICAgLyoKICAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICAgKiBkb0FnYWluOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKICAgICAqICAgIFRoaXMgbWV0aG9kIHdpbGwgTk9UIHJlY2VpdmUgaW5jb21pbmcgZGF0YSwgYnV0IGl0IHdpbGwgaXQgd2lsbCAgICAgICAgICAqCiAgICAgKiAgICBhc2sgZm9yLCB2ZXJpZnksIGFuZCByZXR1cm4gdGhlIHVzZXJzIGNob2ljZSBvZiB3aGV0aGVyIHRvIGNvbnRpbnVlIHRoZSAgKgogICAgICogICAgcHJvZ3JhbSBvciBub3QuIFRoZSBjb2RlIGxvb2tzIGZvciBhIGNob2ljZSBvZiAxIHRvIGVuZCB0aGUgcHJvZ3JhbSwgICAgICoKICAgICAqICAgIEFOWSBPVEhFUiBJTlRFR0VSIHdpbGwgY29udGludWUgdG8gcnVuIHRoZSBwcm9ncmFtLiAgICAgICAgICAgICAgICAgICAgICAqCiAgICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICAgICAgICAgICBwdWJsaWMgc3RhdGljIGludCBkb0FnYWluKCkKICAgICAgICAgewogICAgICAgICAgICAgICBpbnQgdXNlcnNDaG9pY2UgPSAwOwogICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIkVudGVyICcwJyB0byBxdWl0LCBvciAnMScgdG8gcnVuIGFnYWluOiAiKTsKICAgICAgICAgICAgICAgdXNlcnNDaG9pY2UgPSBpbnB1dC5uZXh0SW50KCk7CiAgICAgICAgICAgICAgIHJldHVybiB1c2Vyc0Nob2ljZTsgIAogICAgICAgICB9Ly9FbmQgb2YgdGhlIGdldENob2ljZSBtZXRob2QgICAgICAgICAKICAgICAvKgogICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgICAqIHZlcmlmeURpZmY6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCiAgICAgKiAgICBUaGlzIG1ldGhvZCBhY2NlcHRzIHRoZSB0aHJlZSB2YXJpYWJsZSBhcyBhcmd1bWVudHMuIEl0IHRoZW4gY29tcGFyZXMgYWxsKiAgICAgICAgICAgICAgICAgICAgICoKICAgICAqICAgIHRocmVlIHRvIHNlZSBpZiBhbnkgdmFsdWVzIGFyZSB0aGUgc2FtZS4gSWYgdGhleSBBUkUsIHRoZSBtZXRob2QgcmV0dXJucyAqCiAgICAgKiAgICBhIGZhbHNlLCBpZiBhbGwgdGhyZWUgdmFyaWFibGUgYXJlIE5PVCB0aGUgc2FtZSwgdGhlIG1ldGhvZCByZXR1cm5zIHRydWUuKgogICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovIAogICAgIHB1YmxpYyBzdGF0aWMgYm9vbGVhbiB2ZXJpZnlEaWZmKGludCBudW1iZXJPbmUsIGludCBudW1iZXJUd28sIGludCBudW1iZXJUaHJlZSkKICAgICAgICAgewogICAgICAgICAgYm9vbGVhbiBhbGxEaWZmID0gZmFsc2U7ICAgICAgICAgICAgCiAgICAgICAgICAgaWYobnVtYmVyT25lICE9IG51bWJlclR3byAmJiBudW1iZXJPbmUgIT0gbnVtYmVyVGhyZWUgJiYgbnVtYmVyVHdvICE9IG51bWJlclRocmVlKQogICAgICAgICAgICAgICBhbGxEaWZmID0gdHJ1ZTsgICAgICAKICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJZb3UgdHJpZWQgdG8gdXNlIGEgZHVwbGljYXRlIG51bWJlciwgdHJ5IGFnYWluOiAiKTsKICAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gYWxsRGlmZjsKICAgICAgICAgfS8vRW5kIG9mIHRoZSBnZXRDaG9pY2UgbWV0aG9kICAgICAgICAKCgp9