Java书上及实验内容编程答案.docx
- 文档编号:3812843
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:14
- 大小:57.54KB
Java书上及实验内容编程答案.docx
《Java书上及实验内容编程答案.docx》由会员分享,可在线阅读,更多相关《Java书上及实验内容编程答案.docx(14页珍藏版)》请在冰豆网上搜索。
Java书上及实验内容编程答案
51页第3题//3、求水仙花数
publicclassTest{
publicstaticvoidmain(String[]args){
for(inti=100;i<1000;i++)
{
inta=i/100;//a表示i的百位数值;
intb=(i/10)%10;//b表示i的十位数值;
intc=i%10;//c表示i的个位数值;
if(a*a*a+b*b*b+c*c*c==i)
{
System.out.println(i);
}
}
}
}
//计算1!
+2!
+...+100!
:
publicclassTest{
//staticintsum=0;
publicstaticvoidmain(String[]args){
doublesum=0,i=1,j=0,k=1;
do{
k=1;
j=i;
do{
k=k*j;
j--;
}while(j>=1);
sum=sum+k;
i++;
}while(i<=100);
System.out.println("1!
+2!
+...+100!
="+sum);
}
}
//Rectangle类:
(第80面2)
publicclassRectangle{
doublewidth;
doublelength;
Rectangle(doublel,doublew)
{
check(w,l);width=w;length=l;
}
publicvoidcheck(doublew,doublel){
if(w<=0||w>50||l<=0||l>50)
{
System.out.print("长或宽超出规定范围!
");System.exit(0);
}
}
publicdoublegetArea(){
returnthis.length*this.width;
}
publicdoublegetPerimeter(){
return(this.length+this.width)*2;
}
publicvoidDraw(){
for(inti=1;i<=this.width;i++){
for(intj=1;j<=this.length;j++){
if(i==1||i==this.width)
{
System.out.print("*");
}
else{
if(j==1||j==this.length)
{
System.out.print("*");
}
else
{
System.out.print("");
}
}
}
System.out.print("\n");
}
}
}
//Test测试类:
publicclassTest{
publicstaticvoidmain(String[]args){
Rectanglerec=newRectangle(10,5);
System.out.println("面积:
"+rec.getArea());
System.out.println("周长:
"+rec.getPerimeter());
rec.Draw();
}
}//Area接口(第116面2)
publicinterfaceArea{
doubleCalsulateArea();
}
//MyCircle类
publicclassMyCircleimplementsArea{
doubleradius;
finaldoublePI=3.1415926;
publicMyCircle(doubler){
radius=r;
}
publicdoubleCalsulateArea(){
returnPI*radius*radius;
}
}//MyRectangle类
publicclassMyRectangleimplementsArea{
doublewidth,height;
publicMyRectangle(doublew,doubleh){
width=w;
height=h;
}
publicdoubleCalsulateArea(){
returnwidth*height;
}
}//Test测试类
publicclassTest{
publicstaticvoidmain(String[]args){
MyRectanglem=newMyRectangle(5,6);
MyCirclem1=newMyCircle(10);
System.out.println("正方形m的面积:
"+m.CalsulateArea()+"\n圆形m1的面积:
"+m1.CalsulateArea());
}
}
151页题3
publicclassTest{
publicstaticvoidmain(String[]args){
inttable[]={4,1,3,5,9,2,1};//初始化;
for(inti=0;i
{
System.out.print(table[i]+"\t");//未改变时输出;
}
System.out.print("\n");
for(inti=0;i
{
inttemp;
temp=table[i];
table[i]=table[table.length-1-i];
table[table.length-1-i]=temp;
}
for(inti=0;i
{
System.out.print(table[i]+"\t");//改变后输出;
}
}
}
//(第213面)第2题
importjava.awt.FlowLayout;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.swing.*;
publicclassFrame2extendsJFrameimplementsActionListener{
JButtonbtn1,btn2;
JTextAreatxt;
Frame2(){
this.setBounds(10,10,600,400);
this.setLayout(newFlowLayout(FlowLayout.CENTER));
btn1=newJButton("按钮btn1");
btn1.addActionListener(this);
btn2=newJButton("按钮btn2");
btn2.addActionListener(this);
txt=newJTextArea(1,15);
this.add(txt);
this.add(btn1);
this.add(btn2);
this.setVisible(true);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
publicstaticvoidmain(Stringargs[]){
newFrame2();
}
@Override
publicvoidactionPerformed(ActionEvente){
//TODOAuto-generatedmethodstub
if(e.getSource()==btn1){txt.setText("按钮btn1");}
if(e.getSource()==btn2){txt.setText("按钮btn2");}
}
}
213页第三题太难了,,,六个Java程序,我就懒得复制了,需要的自己去看
实验1题3
importjava.util.Scanner;
publicclassQiugen{
publicstaticvoidmain(Stringargs[]){
System.out.println("请依次输入a、b、c的值,每输入一个数按回车键确认:
");
Scannerreader=newScanner(System.in);
doublea=reader.nextDouble();
doubleb=reader.nextDouble();
doublec=reader.nextDouble();
Gongshi(a,b,c);
}
publicstaticvoidGongshi(doublea,doubleb,doublec){
if(a==0){
doublex;
if(b==0){
if(c==0){
System.out.println("这个一元二次多项式的根为任意实数。
");
}
else{
System.out.println("这个一元二次多项式无实数解。
");
}
}
else{
x=-c/b;
System.out.println("这个一元二次多项式有一个实根为:
x="+x);
}
}
else{
doublex1,x2,y;
if(b*b-4*a*c==0){
x1=x2=-b/(2*a);
System.out.println("这个一元二次多项式有两个相等的实根为:
x1=x2="+x1);
}
elseif(b*b-4*a*c>0){
y=Math.sqrt(b*b-4*a*c);
x1=(-b+y)/(2*a);
x2=(-b-y)/(2*a);
System.out.println("这个一元二次多项式有两个不相等的实根为:
x1="+x1+",x2="+x2);
}
else{
System.out.println("这个一元二次多项式方程无实数解。
");
}
}
}
}
实验3题2
实验4题4
classaccount
{
intleftmoney;
Stringid;
publicintgetleftmoney(){
returnleftmoney;
}
publicvoidsavemoney(doublemoney){
leftmoney+=money;
}
publicvoidgetmoney(doublemoney){
if(money<=leftmoney)
leftmoney-=money;
else
System.out.println("只能取:
"+leftmoney);
}
publicstaticvoidmain(String[]args)
{
accountaa=newaccount();
aa.leftmoney=0;
aa.id="1234567899";
aa.savemoney(21000);
System.out.println("存入21000元后余额为:
"+aa.getleftmoney());
aa.getmoney(11500);
System.out.println("11500元后余额为:
"+aa.getleftmoney());
}
}
实验6题1
importjava.util.HashMap;
importjava.util.Scanner;
classBook{
publicStringname;
publicdoubleprice;
publicintnum;
publicstaticclassNum1{
publicstaticdoublegetSum(HashMap
doublesum=0;
for(inti=0;i Bookb=books.get(i); sum+=b.price*b.num; } returnsum; } publicstaticvoidmain(String[]args){ HashMap System.out.println("输入5本书的名称、单价、购买数量: \n"); for(inti=0;i<5;i++){ Bookb=newBook(); Scannera=newScanner(System.in); b.name=a.nextLine(); b.price=a.nextDouble(); b.num=a.nextInt(); m.put(i,b); } doublesum=getSum(m); System.out.println("sum="+sum); } } } 实验9题3 的时刻是光标离开第一个文本框。 packagebag; importjavax.swing.*; importjava.awt.*; importjava.awt.event.*; publicclassTextFieldtestextendsJFrame { publicstaticvoidmain(String[]args) { JFrameframe=newTextFieldtest(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } JTextFieldfirst=newJTextField(); JTextFieldsecond=newJTextField(); JTextFieldresult=newJTextField(); intn,m; TextFieldtest() { super("TextFieldTest"); setBounds(250,200,400,200); setLayout(newFlowLayout()); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); first=newJTextField("inputinteger1"); second=newJTextField("inputinteger2"); result=newJTextField("GettheResult"); //添加鼠标事件,使鼠标离开first时候检查*/ first.addMouseListener(newMouseHander(first)); second.addMouseListener(newMouseHander(second)); result.addMouseListener(newMouseHander(result)); //添加鼠标事件,方便输入数据和计算结果 result.addMouseMotionListener(newMouseMotionHander()); second.addMouseMotionListener(newMouseMotionHander()); first.setColumns(30); second.setColumns(30); result.setColumns(30); add(first); add(second); add(result); } privateclassMouseHanderextendsMouseAdapter { publicMouseHander(JTextFieldc) { current=c; } publicvoidmousePressed(MouseEventevent) { if(current==result) { doublefirstNumber=Double.parseDouble(first.getText()); doublesecondNumber=Double.parseDouble(second.getText()); doubleResult=firstNumber+secondNumber; result.setText(""+Result); } elsecurrent.setText(""); } privateJTextFieldcurrent; } privateclassMouseMotionHanderextendsMouseMotionAdapter { publicvoidmouseMoved(MouseEventevent) { doublenumber=Double.parseDouble(first.getText()); if(number<100||number>200) { inttype=JOptionPane.ERROR_MESSAGE; JOptionPane.showMessageDialog(null,newString("输入数字必须在100~200之间"),"提示",2); } } } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 书上 实验 内容 编程 答案