JAVA作业参考答案.docx
《JAVA作业参考答案.docx》由会员分享,可在线阅读,更多相关《JAVA作业参考答案.docx(28页珍藏版)》请在冰点文库上搜索。
JAVA作业参考答案
JAVA作业参考答案
5-12根据下面的要求编程实现复数类ComplexNumber.
(1)复数类ComplexNumber的属性
m_dRealPart:
实部,代表复数的实数部分。
m_dImaginPart:
虚部,代表复数的虚数部分。
(2)复数类ComplexNumber的方法
ComplexNumber():
构造函数,将实部,虚部都置为0。
ComplexNumber(doubler,doublei):
构造函数,创建复数对象的同时完成复数的初始化。
getRealPart():
获得复数对象的实部。
getImaginaryPart():
获得复数对象的虚部。
setRealPart(doubled):
把当前复数对象的实部设置为给定的形参的数字。
setImaginaryPart(doubled):
把当前复数对象的虚部设置为给定的形参的数字。
complexAdd(ComplexNumberc):
当前复数对象与形参复数对象相加,所得的结果也是复数值,返回给此方法的调动者。
complexAdd(doublec):
当前复数对象与形参实数对象相加,所得的结果仍是复数值,返回给此方法的调动者。
complexMinus(ComplexNumberc):
当前复数对象与形参复数对象相减,所得的结果也是复数值,返回给此方法的调动者。
complexMinus(doublec):
当前复数对象与形参实数对象相减,所得的结果仍是复数值,返回给此方法的调动者。
complexMulti(ComplexNumberc):
当前复数对象与形参复数对象相乘,所得的结果也是复数值,返回给此方法的调动者。
complexMulti(doublec):
当前复数对象与形参实数对象相乘,所得的结果仍是复数值,返回给此方法的调动者。
toString():
把当前复数对象的实部,虚部组合成a+bi的字符串形式,其中a和b分别为实部和虚部数据。
classComplexNumber
{privatedoublem_dRealPart;
privatedoublem_dImaginPart;
ComplexNumber()
{m_dRealPart=0;
m_dImaginPart=0;
}
ComplexNumber(doubler,doublei)
{m_dRealPart=r;
m_dImaginPart=i;
}
doublegetRealPart()
{returnm_dRealPart;}
doublegetImaginaryPart()
{returnm_dImaginPart;}
voidsetRealPart(doubled)
{m_dRealPart=d;}
voidsetImaginaryPart(doubled)
{m_dImaginPart=d;}
ComplexNumbercomplexAdd(ComplexNumberc)
{m_dRealPart+=c.m_dRealPart;
m_dImaginPart+=c.m_dImaginPart;
returnthis;
}
ComplexNumbercomplexAdd(doublec)
{m_dRealPart+=c;
returnthis;
}
ComplexNumbercomplexMinus(ComplexNumberc)
{m_dRealPart-=c.m_dRealPart;
m_dImaginPart-=c.m_dImaginPart;
returnthis;
}
ComplexNumbercomplexMinus(doublec)
{m_dRealPart-=c;
returnthis;
}
ComplexNumbercomplexMulti(ComplexNumberc)
{ComplexNumbertemp=newComplexNumber();
temp.m_dRealPart=m_dRealPart*c.m_dRealPart-_dImaginPart*c.m_dImaginPart;
temp.m_dImaginPart=m_dImaginPart*c.m_dRealPart+m_dRealPart*c.m_dImaginPart;
m_dRealPart=temp.m_dRealPart;
m_dImaginPart=temp.m_dImaginPart;
returnthis;
}
ComplexNumbercomplexMulti(doublec)
{m_dRealPart*=c;
m_dImaginPart*=c;
returnthis;
}
StringToString()
{if(m_dImaginPart>0)
return""+m_dRealPart+"+"+m_dImaginPart+"i";
else
{if(m_dImaginPart==0)
return""+m_dRealPart;
else
return""+m_dRealPart+m_dImaginPart+"i";
}
}
}
上面的补充中使用了面向对象中的哪些技术?
使用这样的技术有什么好处?
答:
使用了面向对象中的技术为多态和信息隐藏.使用多态的好处:
一个程序中同名的不同方法可以共存,是使用重载的方式来实现多态的.而使用信息隐藏的好处:
防止数据的非法访问.
6-8编写一个Applet程序,接受HTML文件传递的整数参数,根据该参数指定Applet中文本框的长度.编写对应的HTML文件运行这个Applet.
importjava.awt.*;
importjava.awt.event.*;
publicclassAcceptParaextendsApplet
{Strings="";
privateintx;
Labelresult=newLabel("pleaseinputainteger:
");
TextFieldinput;
publicvoidinit()
{s=getParameter("vstring");
x=Integer.parseInt(getParameter("s"));
input=newTextField(x);
add(input);
}
}