1、定义长方形类,含:
属性:宽、高(整型);
方法:求周长、面积;
构造方法3个:(1)无参——宽、高默认值为1;(2)1个参数——宽、高均为参数值;(3)2个参数——宽、高各为参数值。
要求:进行测试。
代码如下:
长方形的类:
package Test1;
public class Rectangle {
//定义长宽属性
private int iWidth;
private int iHeight;
//构造器1
public Rectangle(){
this.iHeight = 1;
this.iWidth = 1;
}
//构造器2
public Rectangle(int iIndex){
this.iWidth = iIndex;
this.iHeight = iIndex;
}
//构造器3
public Rectangle(int iWidth, int iHeight){
this.iHeight = iHeight;
this.iWidth = iWidth;
}
//求周长
public int getLength(){
return 2*(this.iHeight+this.iWidth);
}
//求面积
public int getSquare(){
return this.iHeight*this.iWidth;
}
}
测试类:
package Test1;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Rectangle oRec1 = new Rectangle();
System.out.println("默认长方形的周长为:"+oRec1.getLength());
System.out.println("默认长方形的面积为:"+oRec1.getSquare());
Rectangle oRec2 = new Rectangle(2);
System.out.println("一个参数长方形的周长为:"+oRec2.getLength());
System.out.println("一个参数长方形的面积为:"+oRec2.getSquare());
Rectangle oRec3 = new Rectangle(2,3);
System.out.println("两个参数长方形的周长为:"+oRec3.getLength());
System.out.println("两个参数长方形的面积为:"+oRec3.getSquare());
}
}
运行结果:
默认长方形的周长为:4
默认长方形的面积为:1
一个参数长方形的周长为:8
一个参数长方形的面积为:4
两个参数长方形的周长为:10
两个参数长方形的面积为:6
2、定义圆类,它有一个变量radius(半径)。从键盘输入数据,通过构造方法传递给radius,编程计算并输出圆的周长和面积(确保输入的数据不为负数)。
要求:进行测试。
代码如下:
圆的类:
package Test2;
public class Circle {
private double radius;
public Circle(double dRadius){
this.radius = dRadius;
}
public double getLength(){
return 2*Math.PI*this.radius;
}
public double getArea()
{
return Math.PI*this.radius*this.radius;
}
}
测试类:
package Test2;
import java.util.Scanner;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
double iRadius;
Scanner sc = new Scanner(System.in);
System.out.print("请输入圆的半径:");
iRadius = sc.nextDouble();
if(iRadius < 0){
System.out.println("你输入的半径有误!");
}
else{
Circle oCir = new Circle(iRadius);
System.out.println("圆的周长为:"+oCir.getLength());
System.out.println("圆的面积为:"+oCir.getArea());
}
}
}
运行结果:
正数时:
请输入圆的半径:1
圆的周长为:6.283185307179586
圆的面积为:3.141592653589793
负数时:
请输入圆的半径:-1
你输入的半径有误!
3、定义长方体类,定义求底面积、体积的方法。(可利用上述定义的长方形类)
要求:进行测试。
代码如下:
长方体类:
package Test3;
import Test1.Rectangle;
public class RecV extends Rectangle{
int iLong;
public RecV(int iWidth, int iHeight, int iLong){
super(iWidth,iHeight);
this.iLong = iLong;
}
public int getBtmArea(){
return this.getSquare();
}
public int getVolume(){
return this.getSquare()*this.iLong;
}
}
测试类:
package Test3;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
RecV oRecV = new RecV(1,2,3);
System.out.println("长方体的底面积为:"+oRecV.getBtmArea());
System.out.println("长方体的体积为:"+oRecV.getVolume());
}
}
运行结果:
长方体的底面积为:2
长方体的体积为:6
4、定义球类,定义求体积的方法。(可利用上述定义的圆类)
要求:进行测试。
代码如下:
球的类:
package Test4;
import Test2.Circle;
public class Bool extends Circle{
public Bool(double dRadius) {
super(dRadius);
// TODO Auto-generated constructor stub
}
public double getBoolVolume(){
return (4/3)*Math.PI*Math.pow(this.radius, 3.0);
}
}
测试类:
package Test4;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Bool oBool = new Bool(1);
System.out.println("球的体积为:"+oBool.getBoolVolume());
}
}
运行结果:
球的体积为:3.141592653589793
5、定义一个计算器类,包括加、减、乘、除运算。
要求:进行测试。
代码如下:
package Test5;
public class Calculator {
private int iFirstNum;
private int iSecondNum;
public Calculator(int iFirst, int iSecond){
this.iFirstNum = iFirst;
this.iSecondNum = iSecond;
}
public int getAdd(){
return this.iFirstNum + this.iSecondNum;
}
public int getSub(){
return this.iFirstNum - this.iSecondNum;
}
public int getMul(){
return this.iFirstNum * this.iSecondNum;
}
public void getDev(){
if(this.iSecondNum ==0){
System.out.print("分子不能为零!");
}
else
{
System.out.print(this.iFirstNum/this.iSecondNum);
}
}
}
测试类:
package Test5;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Calculator oCal = new Calculator(4,2);
System.out.println("两数之和为 :"+oCal.getAdd());
System.out.println("两数之差为:"+oCal.getSub());
System.out.println("两数之积为:"+oCal.getMul());
System.out.print("两数之商为:");
oCal.getDev();
}
}
运行结果:
两数之和为 :6
两数之差为:2
两数之积为:8
两数之商为:2
7、编写程序使用复数类Complex验证两个复数 2+2i 和3+3i 相加产生一个新的复数5+5i 。复数类Complex满足如下要求:
(1)属性:RealPart : int型,代表复数的实数部分;ImaginPart : int型,代表复数的虚数部分
(2)方法:
Complex( ) : 构造方法,将复数的实部和虚部都置0
Complex( int r , int i ) : 构造方法,形参 r 为实部的初值,i为虚部的初值。
Complex complexAdd(Complex a) : 将当前复数对象与形参复数对象相加,所得的结果仍是一个复数值,返回给此方法的调用者。
String toString( ) : 把当前复数对象的实部、虚部组合成 a+bi 的字符串形式,其中a 和 b分别为实部和虚部的数据。
(3)进行测试。
代码如下:
package Test7;
public class Complex {
private int iRealPart;
private int iImaginPart;
public Complex(){
iRealPart = 0;
iImaginPart = 0;
}
public Complex(int r, int i){
iRealPart = r;
iImaginPart = i;
}
public Complex complexAdd( Complex a ){
this.iRealPart += a.iRealPart;
this.iImaginPart += a.iImaginPart;
return this;
}
public String toString(){
return this.iRealPart+"+"+this.iImaginPart+"i";
}
}
测试类:
package Test7;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//复数实例化
Complex oFirstNum = new Complex();
Complex oFirstNum1 = new Complex(2,3);
Complex oSecondNum = new Complex(3,4);
oFirstNum.complexAdd(oSecondNum);
System.out.println("1。复数之和为:"+oFirstNum.toString());
oFirstNum1.complexAdd(oSecondNum);
System.out.println("2.复数之和为:"+oFirstNum1.toString());
}
}
运行结果:
1。复数之和为:3+4i
2.复数之和为:5+7i
8、试编写Java代码实现一个计数器类Computer其中包括:
域value :用来保存计数器的当前值;
方法increment(): 计数器加一;
方法decrement() :计数器减一;
方法reset():计数器清零。
请编写并调试程序。
代码如下:
package Test8;
public class Computer {
private int value;
public Computer(){
this.value = 0;
}
public void increment(){
this.value++;
}
public void decrement(){
this.value--;
}
public void reset(){
this.value = 0;
}
public int getValue(){
return this.value;
}
}
测试类:
package Test8;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Computer oCount = new Computer();
System.out.println("计数器的初始值为:" + oCount.getValue());
oCount.increment();
oCount.increment();
oCount.increment();
System.out.println("加三后的值为:" + oCount.getValue());
oCount.decrement();
System.out.println("减一后的值为:" + oCount.getValue());
oCount.reset();
System.out.println("初始化后的值为:" + oCount.getValue());
}
}
运行结果:
计数器的初始值为:0
加三后的值为:3
减一后的值为:2
初始化后的值为:0