CS 166 02 Program Assignment 06 Chapter 09
Chapter 09 Program/ch09_ex4_AreaAndPerimeter/.classpath
Chapter 09 Program/ch09_ex4_AreaAndPerimeter/.project
ch09_ex4_AreaAndPerimeter org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature
Chapter 09 Program/ch09_ex4_AreaAndPerimeter/.settings/org.eclipse.jdt.core.prefs
eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.8 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.8
Chapter 09 Program/ch09_ex4_AreaAndPerimeter/bin/murach/rectangle/Main.class
package murach.rectangle; public synchronized class Main { public void Main(); public static void main(String[]); }
Chapter 09 Program/ch09_ex4_AreaAndPerimeter/bin/murach/rectangle/Rectangle.class
package murach.rectangle; public synchronized class Rectangle { private double length; private double width; public void Rectangle(); public void Rectangle(double, double); public double getLength(); public void setLength(double); public double getWidth(); public void setWidth(double); public double getArea(); public String getAreaNumberFormat(); public double getPerimeter(); public String getPerimeterNumberFormat(); }
Chapter 09 Program/ch09_ex4_AreaAndPerimeter/src/murach/rectangle/Main.java
Chapter 09 Program/ch09_ex4_AreaAndPerimeter/src/murach/rectangle/Main.java
package
murach
.
rectangle
;
import
java
.
util
.
Scanner
;
public
class
Main
{
public
static
void
main
(
String
args
[])
{
System
.
out
.
println
(
"Welcome to the Area and Perimeter Calculator"
);
System
.
out
.
println
();
Scanner
sc
=
new
Scanner
(
System
.
in
);
String
choice
=
"y"
;
while
(
choice
.
equalsIgnoreCase
(
"y"
))
{
// get input from user
System
.
out
.
print
(
"Enter length: "
);
double
length
=
Double
.
parseDouble
(
sc
.
nextLine
());
System
.
out
.
print
(
"Enter width: "
);
double
width
=
Double
.
parseDouble
(
sc
.
nextLine
());
// calculate total
Rectangle
r
=
new
Rectangle
(
length
,
width
);
// format and display output
String
message
=
"Area: "
+
r
.
getAreaNumberFormat
()
+
"\n"
+
"Perimeter: "
+
r
.
getPerimeterNumberFormat
()
+
"\n"
;
System
.
out
.
println
(
message
);
// see if the user wants to continue
System
.
out
.
print
(
"Continue? (y/n): "
);
choice
=
sc
.
nextLine
();
System
.
out
.
println
();
}
System
.
out
.
println
(
"Bye!"
);
sc
.
close
();
}
}
Chapter 09 Program/ch09_ex4_AreaAndPerimeter/src/murach/rectangle/Rectangle.java
Chapter 09 Program/ch09_ex4_AreaAndPerimeter/src/murach/rectangle/Rectangle.java
package
murach
.
rectangle
;
import
java
.
text
.
NumberFormat
;
public
class
Rectangle
{
private
double
length
;
private
double
width
;
public
Rectangle
()
{
length
=
0
;
width
=
0
;
}
public
Rectangle
(
double
length
,
double
width
)
{
this
.
length
=
length
;
this
.
width
=
width
;
}
public
double
getLength
()
{
return
length
;
}
public
void
setLength
(
double
length
)
{
this
.
length
=
length
;
}
public
double
getWidth
()
{
return
width
;
}
public
void
setWidth
(
double
width
)
{
this
.
width
=
width
;
}
public
double
getArea
()
{
double
area
=
width
*
length
;
return
area
;
}
public
String
getAreaNumberFormat
()
{
NumberFormat
number
=
NumberFormat
.
getNumberInstance
();
number
.
setMinimumFractionDigits
(
3
);
String
numberFormatted
=
number
.
format
(
this
.
getArea
());
return
numberFormatted
;
}
public
double
getPerimeter
()
{
double
perimeter
=
2
*
width
+
2
*
length
;
return
perimeter
;
}
public
String
getPerimeterNumberFormat
()
{
NumberFormat
number
=
NumberFormat
.
getNumberInstance
();
number
.
setMinimumFractionDigits
(
3
);
String
numberFormatted
=
number
.
format
(
this
.
getPerimeter
());
return
numberFormatted
;
}
}