




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1.(5-12) 根据下面的要求编程实现复数类ComplexNumber。(1)复数类的属性包括实数部分和虚数部分(2)复数类的方法有加法add,减法subtract并编程验证以上的复数类。接收用户输入的复数的实部和虚部,计算复数与复数、复数与实数的加、减的操作。public class test1 public static void main(String args) ComplexNumber cNumber_1 = new ComplexNumber(3,-5); ComplexNumber cNumber_2 = new ComplexNumber(2,2); double d = 10.0; System.out.println(cNumber_1.toString() + 加 + cNumber_2.toString() + 等于 + cNumber_1.complexAdd(cNumber_2).toString(); System.out.println(cNumber_1.toString() + 加 + d + 等于 + cNumber_1.complexAdd(d).toString(); System.out.println(cNumber_1.toString() + 减 + cNumber_2.toString() + 等于 + cNumber_1.complexMinus(cNumber_2).toString(); System.out.println(cNumber_1.toString() + 减 + d + 等于 + cNumber_1.complexMinus(d).toString(); System.out.println(cNumber_1.toString() + 乘 + cNumber_2.toString() + 等于 + cNumber_1.complexMulti(cNumber_2).toString(); System.out.println(cNumber_1.toString() + 乘 + d + 等于 + cNumber_1.complexMulti(d).toString(); class ComplexNumber /域 private double m_dRealPart; private double m_dImaginPart; /构造函数 ComplexNumber() m_dRealPart = 0.0; m_dImaginPart = 0.0; ComplexNumber(double r,double i) m_dRealPart = r; m_dImaginPart = i; ComplexNumber(ComplexNumber c) m_dRealPart = c.getRealPart(); m_dImaginPart = c.getImaginaryPart(); /get,set方法 double getRealPart() return m_dRealPart; double getImaginaryPart() return m_dImaginPart; void setRealPart(double d) m_dRealPart = d; void setImaginaryPart(double d) m_dImaginPart = d; /复数运算方法 ComplexNumber complexAdd(ComplexNumber c) return new ComplexNumber( this.m_dRealPart + c.getRealPart(), this.m_dImaginPart + c.getImaginaryPart(); ComplexNumber complexAdd(double c) return new ComplexNumber( this.m_dRealPart + c, this.m_dImaginPart); ComplexNumber complexMinus(ComplexNumber c) return new ComplexNumber( this.m_dRealPart - c.getRealPart(), this.m_dImaginPart - c.getImaginaryPart(); ComplexNumber complexMinus(double c) return new ComplexNumber( this.m_dRealPart - c, this.m_dImaginPart); ComplexNumber complexMulti(ComplexNumber c) return new ComplexNumber( this.m_dRealPart * c.getRealPart() - this.m_dImaginPart * c.getImaginaryPart(), this.m_dRealPart * c.getImaginaryPart() + this.m_dImaginPart * c.getRealPart(); ComplexNumber complexMulti(double c) return new ComplexNumber( this.m_dRealPart * c, this.m_dImaginPart * c); /toString() public String toString() return ( + m_dRealPart + + + m_dImaginPart + i + ); 2. (7-24)编写Applet程序实现一个计算器,包括十个数字(09)按钮和四个运算符(加、减、乘、除)按钮,以及等号和清空两个辅助按钮,还有一个显示输入输出的文本框。import java.applet.*;import java.awt.*;import java.awt.event.*; public class test2 extends Applet implements ActionListener double firstOperant,secondOperant; int caculateStatus=0;/0:接收操作数一;1,2:接收操作数二;3:等号后 char operator; Button caculateBtn = new Button16; String btnLabel = 1,2,3,+,4,5,6,-, 7,8,9,*,0,C,=,/; TextField inOutTfd = new TextField(50); Panel btnPanel = new Panel(); public void init() btnPanel.setLayout(new GridLayout(4,4); for(int i=0; i16; i+) caculateBtni = new Button(btnLabeli); caculateBtni.addActionListener(this); btnPanel.add(caculateBtni); setLayout(new BorderLayout(); add(North, inOutTfd); add(Center, btnPanel); inOutTfd.setText(0); caculateStatus = 0; public void actionPerformed(ActionEvent ae) if(ae.getSource() instanceof Button) char ch = (Button)(ae.getSource().getLabel().charAt(0); /System.out.println(ch + , status: + caculateStatus); switch(ch) case C : inOutTfd.setText(0); firstOperant = secondOperant = 0; caculateStatus = 0; break; case = : if(caculateStatus = 0) caculateStatus = 3; else if(caculateStatus = 2) oneStepCaculate(); /System.out.println(firstOperant + , + secondOperant); caculateStatus = 3; break; case + : case - : case * : case / : if(caculateStatus = 0 | caculateStatus = 3) secondOperant = 0; caculateStatus = 1; else if(caculateStatus = 1) operator = ch; else if(caculateStatus = 2) oneStepCaculate(); secondOperant = 0; caculateStatus = 1; operator = ch; break; default : /数字键 if(caculateStatus = 0) int temp = (int)firstOperant; temp = temp*10 + ch - 0; inOutTfd.setText(Integer.toString(temp); firstOperant = temp; else if(caculateStatus = 1) secondOperant = ch - 0; inOutTfd.setText(Integer.toString(int)secondOperant); caculateStatus = 2; else if(caculateStatus = 2) int temp = (int)secondOperant; temp = temp*10 + ch - 0; inOutTfd.setText(Integer.toString(temp); secondOperant = temp; else if(caculateStatus = 3) firstOperant = ch - 0; inOutTfd.setText(Integer.toString(int)firstOperant); secondOperant = 0; caculateStatus = 0; /switch public void oneStepCaculate() switch(operator) case + : firstOperant += secondOperant; break; case - : firstOperant -= secondOperant; break; case *: firstOperant *= secondOperant; break; case /: firstOperant /= secondOperant; break; inOutTfd.setText(Double.toString(firstOperant); 3. 编写一个java程序,通过键盘输入10个整数,每个数据一行,将这些数据按升序排序后从系统的标准输出设备输出。import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Arrays;public class Test3public static void main(String args) throws IOExceptionint my_array=new int10;String s;System.out.println(输入10个整数,一行一个);BufferedReader br=new BufferedReader(new InputStreamReader(System.in);for(int i=0;imy_array.length;i+)s=br.readLine();my_arrayi=Integer.parseInt(s);Arrays.sort(my_array);System.out.println(排序后的数据为:n);for(int i=0;imy_array.length;i+)System.out.print(my_arrayi+t);4. (6-11)编写一个java程序,通过键盘输入10个整数,每个数据一行,求出这个数组的最大值、最小值、平均值和所有元素的和。import java.applet.*; import java.awt.*;import java.awt.event.*;public class Test4 extends Applet implements ActionListener final int ARRAY_LENGTH = 10; /* final String labelPrompt = 最大值:,最小值:, 总和:,平均值:; */ int myArray = new intARRAY_LENGTH; int count=0, max=0, min=0, sum=0; double avg=0.0; TextField inputTfd; int strNo; Label inputLbl; String result=; /* Label maxLabel = new Label(labelPrompt0 + ); Label minLabel = new Label(labelPrompt1 + ); Label sumLabel = new Label(labelPrompt2 + ); Label avgLabel = new Label(labelPrompt3 + ); */ public void init() inputTfd = new TextField(10); strNo=1; inputLbl = new Label(请输入第+strNo+个数据并回车:); add(inputLbl); add(inputTfd); /* add(maxLabel); add(minLabel); add(sumLabel); add(avgLabel); */ inputTfd.addActionListener(this); public void actionPerformed(ActionEvent ae) if(strNoARRAY_LENGTH) strNo+; inputLbl.setText(请输入第+strNo+个数据并回车:); myArraystrNo-2 = Integer.parseInt(inputTfd.getText(); inputTfd.setText(); else myArrayARRAY_LENGTH-1 = Integer.parseInt(inputTfd.getText(); inputTfd.setEditable(false); inputLbl.setText(finished the input); calcute(); repaint(); public void calcute() min=max=sum=myArray0; for(int i=1;imyArray.length;i+) max=Math.max(max,myArrayi); min=Math.min(min,myArrayi); sum+=myArrayi; result=最大值为:+max+n + 最小值为:+min+n + 总和为:+sum+n + 平均值为:+(sum/myArray.length)+n; public void paint(Graphics g) g.drawString(result, 10, 150); 5(6-17) 编写java applet小程序,通过文本框接受用户输入的字符串值, 按钮用于判断其是否为回文,并给出相应的判断结果说明。import java.applet.Applet;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.*;public class Test5 extends Applet implements ActionListener /* public static void main(String args) try System.out.println(请输入一个字符串:); BufferedReader br = new BufferedReader( new InputStreamReader(System.in); String str = br.readLine(); if(isReversable(str) System.out.println(这个字符串是回文。n); else System.out.println(这个字符串不是回文。n); catch(IOException ioe) System.out.println(ioe.toString(); */TextField tf=new TextField(100);Label lb_prompt=new Label(请输入字符串,用于判断是否是回文:);Label lb_result=new Label( + ); public void init() add(lb_prompt); add(tf); add(lb_result); tf.addActionListener(this); public static boolean isReversable(String s) for(int i=0,j=s.length()-1; ij; i+,j-) if(s.charAt(i) != s.charAt(j) return false; return true; public void actionPerformed(ActionEvent e) / TODO 自动生成方法存根String str=tf.getText(); if(isReversable(str) / System.out.println(这个字符串是回文。n); lb_result.setText(字符串+str+ 是回文。n); else lb_result.setText(字符串+str+ 不是回文。n);6.(6-19)编写java application程序,接受命令行参数指定的整数范围,输出这个范围之内的所有完全数和所有素数()public class Test7 public static void main(String args) if(args.length ceiling) temp = floor; floor = ceiling; ceiling = temp; System.out.println(floor +到+ceiling+范围内的完全数有:); for(int i=floor; iceiling; i+) if(isWanQuanShu(i) System.out.print( i + t ); count+; if( count%6 = 0) System.out.println(); count=0; System.out.println(n+floor +到+ceiling+范围内的素数有:); for(int i=floor; iceiling; i+) if(isSuShu(i) System.out.print( i + t ); count+; if( count%6 = 0) System.out.println(); catch(NumberFormatException nfe) System.out.println(nfe.toString(); System.out.println(命令行参数应为整型,例如 + n java ch6_e6_19 1 1000); static boolean isSuShu(int n) boolean flag=true; if(n=1) return false; if(n=2) return true; for(int k=2;kn;k+) if(n%k=0) flag=false;break; /else return true; return flag; static boolean isWanQuanShu(int n) int y=0; for(int j=1; jn; j+) if( n%j = 0) y += j; if( y = n ) return true; else return false; 7(6-14)编写applet程序创建200电话卡的对象。程序自动生成200电话卡的卡号,由用户输入密码和金额(密码用*字符屏蔽),接入号码和附加费固定为200和0.1。每创建一个200电话卡对象后,就输出它的有关信息。程序可以创建任意个数的对象,并把它们按照金额升序排列在一个向量Vector对象中,并能根据用户输入的卡号进行查找,找到输出对应电话卡的金额,否则,输出相应的提示信息。import java.applet.*; import java.awt.*;import java.awt.event.*;import java.util.*;public class Test5 extends Applet implements ActionListener final long CONNECT_NUMBER = 200; final double CONNECT_FEE = 0.5; Label cardNumberLbl = new Label(); Label balanceLbl = new Label(余额:); Label passwordLbl = new Label(密码); TextField balanceTfd = new TextField(8); TextField passwordTfd = new TextField(8); TextField searchIdxTfd = new TextField(8); Button createCard = new Button(创建); Button searchCard = new Button(查找); Label searchResult = new Label(查找结果: + + ); Vector phoneCardVector = new Vector(); public void init() balanceTfd.setText(); passwordTfd.setText(); searchIdxTfd.setText(); cardNumberLbl.setText(电话卡号: + PhoneCard200.cardNumber200); add(cardNumberLbl); add(balanceLbl); add(balanceTfd); add(passwordLbl); add(passwordTfd); add(createCard); add(searchIdxTfd); add(searchCard); add(searchResult); passwordTfd.setEchoChar(*); searchResult.setAlignment(Label.LEFT); createCard.addActionListener(this); searchCard.addActionListener(this); public void actionPerformed(ActionEvent ae) PhoneCard200 phoneCard; if(ae.getSource() = createCard) /创建电话卡 phoneCard = new PhoneCard200( Double.parseDouble(balanceTfd.getText(), passwordTfd.getText(), CONNECT_NUMBER, CONNECT_FEE); /按升序插入 boolean added = false; for(int i=0; iphoneCardVector.size(); i+) if(phoneCard.getBalance() (PhoneCard200)(phoneCardVector.get(i).getBalance() phoneCardVector.insertElementAt(phoneCard,i); added = true; break; /若是第一张卡,或者是余额最大的卡,则加在向量的最后 if(!added) phoneCardVector.add(phoneCard); cardNumbe
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护士职业防护试题及答案
- 2025年新能源行业安全生产标准化技术创新与安全风险识别报告
- 5 我的家在这里 第1课时 (教学设计)-部编版道德与法治三年级下册
- 高铁总施工合同样本(3篇)
- N2护士考试试题及答案单选题
- 《汽车行业同行竞争联盟与技术交流协议》
- 新能源发电项目合同台账管理细则
- 高端制造企业员工股权激励与期权实施协议
- 融资租赁利息支付及设备回购合同范本
- 股份协议转让与公司国际化发展合同
- 矿山技术管理课件
- 宣传委员竞选课件
- 隧道施工安全教育
- 临床气管切开患者堵管护理
- 法律谈判教学课件
- 网约车驾驶员安全驾驶培训
- 肠内营养病例临床实践分享
- 下肢骨折健康教育讲座
- 银行员工行为管理
- 办理出国商务代办手续服务合同
- 2025年陕西中考道德与法治真题解读及答案详解讲评(课件)
评论
0/150
提交评论