/* package whatever; // don't place package name! */
import java.util.* ;
import java.lang.* ;
import java.io.* ;
/* Name of the class has to be "Main" only if the class is public. */
class Assignment8
{
public static void main
( String [ ] args
) {
System .
out .
println ( "1. US Measurment to Metric" + "\n " + "2. Metric to US Measurement" ) ; int us_or_metric = Input.getInt ( "Please enter the desired convertion" ) ;
switch ( us_or_metric )
{
case 1 :
System .
out .
println ( "\n " + "1. Pound to Kilogram" + "\n " + "2. Ounce to Gram" + "\n " + "3. Foot to Meter" + "\n " + "4. Mile to Kilometer" ) ; int us_conversions = Input.getInt ( "Please enter the desired convertion" ) ;
switch ( us_conversions )
{
case 1 :
double a = Input.getDouble ( "Please enter amount to be converted" ) ;
double b = 0.4536D;
System .
out .
println ( a
+ "pound(s) is" + pound
( a,b
) + "kilogram(s)" ) ; break ;
case 2 :
double c = Input.getDouble ( "Please enter amount to be converted" ) ;
double d = 28.5D;
System .
out .
println ( c
+ "ounce(s) is" + ounce
( c,d
) + "gram(s)" ) ; break ;
case 3 :
double e = Input.getDouble ( "Please enter amount to be converted" ) ;
double f = 0.3048D;
System .
out .
println ( e
+ "feet is" + foot
( e,f
) + "meter(s)" ) ; break ;
case 4 :
double g = Input.getDouble ( "Please enter amount to be converted" ) ;
double h = 1.61D;
System .
out .
println ( g
+ "mile(s) is" + mile
( g,h
) + "kilometer(s)" ) ; break ;
}
break ;
case 2 :
System .
out .
println ( "\n " + "1. Kilogram to Pound" + "\n " + "2. Gram to Ounce" + "\n " + "3. Meter to Foot" + "\n " + "4. Kilometer to Mile" ) ; int metric_conversions = Input.getInt ( "Please enter the desired convertion" ) ;
switch ( us_conversions )
{
case 1 :
double i = Input.getDouble ( "Please enter amount to be converted" ) ;
double j = 2.2046D;
System .
out .
println ( i
+ "kilogram(s) is" + kilogram
( i,j
) + "pound(s)" ) ; break ;
case 2 :
double k = Input.getDouble ( "Please enter amount to be converted" ) ;
double l = 0.0352D;
System .
out .
println ( k
+ "gram(s) is" + gram
( k,l
) + "ounce(s)" ) ; break ;
case 3 :
double m = Input.getDouble ( "Please enter amount to be converted" ) ;
double n = 3.2808D;
System .
out .
println ( m
+ "meter(s) is" + meter
( m,n
) + "feet" ) ; break ;
case 4 :
double o = Input.getDouble ( "Please enter amount to be converted" ) ;
double p = 0.6213D;
System .
out .
println ( o
+ "kilometer(s) is" + kilometer
( o,p
) + "mile(s)" ) ; break ;
}
break ;
}
}
public static double pound( double a , double b )
{
return a * b;
}
public static double ounce( double c , double d )
{
return c * d;
}
public static double foot( double e, double f )
{
return e * f;
}
public static double mile( double g , double h )
{
return g * h;
}
public static double kilogram( double i , double j )
{
return i * j;
}
public static double gram( double k , double l )
{
return k * l;
}
public static double meter( double m , double n )
{
return m * n;
}
public static double kilometer( double o , double p )
{
return o * p;
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgQXNzaWdubWVudDgKewpwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXWFyZ3MpCnsKICAgIFN5c3RlbS5vdXQucHJpbnRsbiggIjEuIFVTIE1lYXN1cm1lbnQgdG8gTWV0cmljIiArICJcbiIgKyAiMi4gTWV0cmljIHRvIFVTIE1lYXN1cmVtZW50IiApOwogICAgaW50IHVzX29yX21ldHJpYyA9IElucHV0LmdldEludCAoICJQbGVhc2UgZW50ZXIgdGhlIGRlc2lyZWQgY29udmVydGlvbiIgKTsKICAgIHN3aXRjaCAoIHVzX29yX21ldHJpYyApCiAgICB7CiAgICAgICAgY2FzZSAxOgogICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oICJcbiIgKyAiMS4gUG91bmQgdG8gS2lsb2dyYW0iICsgIlxuIiArICIyLiBPdW5jZSB0byBHcmFtIiArICJcbiIgKyAiMy4gRm9vdCB0byBNZXRlciIgKyAiXG4iICsgIjQuIE1pbGUgdG8gS2lsb21ldGVyIiApOwogICAgICAgICAgICBpbnQgdXNfY29udmVyc2lvbnMgPSBJbnB1dC5nZXRJbnQoICJQbGVhc2UgZW50ZXIgdGhlIGRlc2lyZWQgY29udmVydGlvbiIgKTsKICAgICAgICAgICAgc3dpdGNoICggdXNfY29udmVyc2lvbnMgKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBjYXNlIDE6CiAgICAgICAgICAgICAgICAgICAgZG91YmxlIGEgPSBJbnB1dC5nZXREb3VibGUoICJQbGVhc2UgZW50ZXIgYW1vdW50IHRvIGJlIGNvbnZlcnRlZCIgKTsKICAgICAgICAgICAgICAgICAgICBkb3VibGUgYiA9IDAuNDUzNkQ7CiAgICAgICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCBhICsgInBvdW5kKHMpIGlzIiArIHBvdW5kKCBhLGIgKSArICJraWxvZ3JhbShzKSIgKTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMjoKICAgICAgICAgICAgICAgICAgICBkb3VibGUgYyA9IElucHV0LmdldERvdWJsZSAoICJQbGVhc2UgZW50ZXIgYW1vdW50IHRvIGJlIGNvbnZlcnRlZCIgKTsKICAgICAgICAgICAgICAgICAgICBkb3VibGUgZCA9IDI4LjVEOwogICAgICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbiggYyArICJvdW5jZShzKSBpcyIgKyBvdW5jZSggYyxkICkgKyAiZ3JhbShzKSIgKTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMzoKICAgICAgICAgICAgICAgICAgICBkb3VibGUgZSA9IElucHV0LmdldERvdWJsZSAoICJQbGVhc2UgZW50ZXIgYW1vdW50IHRvIGJlIGNvbnZlcnRlZCIgKTsKICAgICAgICAgICAgICAgICAgICBkb3VibGUgZiA9IDAuMzA0OEQ7CiAgICAgICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCBlICsgImZlZXQgaXMiICsgZm9vdCggZSxmICkgKyAibWV0ZXIocykiICk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDQ6CiAgICAgICAgICAgICAgICAgICAgZG91YmxlIGcgPSBJbnB1dC5nZXREb3VibGUgKCAiUGxlYXNlIGVudGVyIGFtb3VudCB0byBiZSBjb252ZXJ0ZWQiICk7CiAgICAgICAgICAgICAgICAgICAgZG91YmxlIGggPSAxLjYxRDsKICAgICAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIGcgKyAibWlsZShzKSBpcyIgKyBtaWxlKCBnLGggKSArICJraWxvbWV0ZXIocykiICk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSAyOgogICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oICJcbiIgKyAiMS4gS2lsb2dyYW0gdG8gUG91bmQiICsgIlxuIiArICIyLiBHcmFtIHRvIE91bmNlIiArICJcbiIgKyAiMy4gTWV0ZXIgdG8gRm9vdCIgKyAiXG4iICsgIjQuIEtpbG9tZXRlciB0byBNaWxlIiApOwogICAgICAgICAgICBpbnQgbWV0cmljX2NvbnZlcnNpb25zID0gSW5wdXQuZ2V0SW50ICggIlBsZWFzZSBlbnRlciB0aGUgZGVzaXJlZCBjb252ZXJ0aW9uIiApOwogICAgICAgICAgICBzd2l0Y2ggKCB1c19jb252ZXJzaW9ucyApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGNhc2UgMToKICAgICAgICAgICAgICAgICAgICBkb3VibGUgaSA9IElucHV0LmdldERvdWJsZSggIlBsZWFzZSBlbnRlciBhbW91bnQgdG8gYmUgY29udmVydGVkIiApOwogICAgICAgICAgICAgICAgICAgIGRvdWJsZSBqID0gMi4yMDQ2RDsKICAgICAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIGkgKyAia2lsb2dyYW0ocykgaXMiICsga2lsb2dyYW0oIGksaiApICsgInBvdW5kKHMpIiApOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAyOgogICAgICAgICAgICAgICAgICAgIGRvdWJsZSBrID0gSW5wdXQuZ2V0RG91YmxlICggIlBsZWFzZSBlbnRlciBhbW91bnQgdG8gYmUgY29udmVydGVkIiApOwogICAgICAgICAgICAgICAgICAgIGRvdWJsZSBsID0gMC4wMzUyRDsKICAgICAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIGsgKyAiZ3JhbShzKSBpcyIgKyBncmFtKCBrLGwgKSArICJvdW5jZShzKSIgKTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMzoKICAgICAgICAgICAgICAgICAgICBkb3VibGUgbSA9IElucHV0LmdldERvdWJsZSAoICJQbGVhc2UgZW50ZXIgYW1vdW50IHRvIGJlIGNvbnZlcnRlZCIgKTsKICAgICAgICAgICAgICAgICAgICBkb3VibGUgbiA9IDMuMjgwOEQ7CiAgICAgICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCBtICsgIm1ldGVyKHMpIGlzIiArIG1ldGVyKCBtLG4gKSArICJmZWV0IiApOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSA0OgogICAgICAgICAgICAgICAgICAgIGRvdWJsZSBvID0gSW5wdXQuZ2V0RG91YmxlICggIlBsZWFzZSBlbnRlciBhbW91bnQgdG8gYmUgY29udmVydGVkIiApOwogICAgICAgICAgICAgICAgICAgIGRvdWJsZSBwID0gMC42MjEzRDsKICAgICAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIG8gKyAia2lsb21ldGVyKHMpIGlzIiArIGtpbG9tZXRlciggbyxwICkgKyAibWlsZShzKSIgKTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgICAgICBicmVhazsKICAgIH0KfQoKcHVibGljIHN0YXRpYyBkb3VibGUgcG91bmQoIGRvdWJsZSBhICwgZG91YmxlIGIgKQp7CiAgICByZXR1cm4gYSAqIGI7Cn0KCgpwdWJsaWMgc3RhdGljIGRvdWJsZSBvdW5jZSggZG91YmxlIGMgLCBkb3VibGUgZCApCnsKICAgIHJldHVybiBjICogZDsKfSAgIAoKcHVibGljIHN0YXRpYyBkb3VibGUgZm9vdCggZG91YmxlIGUsIGRvdWJsZSBmICkKewogICAgcmV0dXJuIGUgKiBmOwp9CgpwdWJsaWMgc3RhdGljIGRvdWJsZSBtaWxlKCBkb3VibGUgZyAsIGRvdWJsZSBoICkKewogICAgcmV0dXJuIGcgKiBoOwp9CnB1YmxpYyBzdGF0aWMgZG91YmxlIGtpbG9ncmFtKCBkb3VibGUgaSAsIGRvdWJsZSBqICkKewogICAgcmV0dXJuIGkgKiBqOwp9CnB1YmxpYyBzdGF0aWMgZG91YmxlIGdyYW0oIGRvdWJsZSBrICwgZG91YmxlIGwgKQp7CiAgICByZXR1cm4gayAqIGw7Cn0KcHVibGljIHN0YXRpYyBkb3VibGUgbWV0ZXIoIGRvdWJsZSBtICwgZG91YmxlIG4gKQp7CiAgICByZXR1cm4gbSAqIG47Cn0KcHVibGljIHN0YXRpYyBkb3VibGUga2lsb21ldGVyKCBkb3VibGUgbyAsIGRvdWJsZSBwICkKewogICAgcmV0dXJuIG8gKiBwOwp9Cn0=