浙大JAVA 实验题答案14answer
更新时间:2024-03-19 19:55:01 阅读量: 综合文库 文档下载
- 浙大java实验题答案推荐度:
- 相关推荐
实验14 类的设计和实验题库中未做的题
1. 程序填空题,不要改变与输入输出有关的语句。
30009 求一元二次方程的根(选做)
输入一个正整数repeat (0 (3)x=值 (值为-c/b) (4)x1=值1 (值1为(-b+Math.sqrt(d))/(2*a)) x2=值2 (值2为(-b-Math.sqrt(d))/(2*a)) (5)x1=值1+值2i x2=值1-值2i (值1为-b/(2*a),值2为Math.sqrt(-d)/(2*a)) 输入输出示例:括号内为说明 输入: 5 (repeat=5) 0 0 0 (a=0,b=0,c=0) 0 0 1 (a=0,b=0,c=1) 0 2 5 (a=0,b=2,c=5) 21 89 35 (a=21,b=89,c=35) 2 2 3 (a=2,b=2,c=3) 输出: a=b=c=0,meaningless a=b=0,c!=0,error x=-2.5 x1=-0.44 x2=-3.8 x1=-0.5+1.12i x2=-0.5-1.12i import java.util.Scanner; public class Test30009{ public static void main(String args[]){ int repeat, ri; int a,b,c,d; double x1,x2; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri = 1; ri <= repeat; ri++){ a=in.nextInt();b=in.nextInt();c=in.nextInt(); /*---------*/ if(a==0&&b==0&&c==0) System.out.println(\); else if(a==0&&b==0&&c!=0) System.out.println(\); else if(a==0&&b!=0){ x1=-(double)c/b; System.out.println(\+Math.round(x1*100)/100.0); } else { d=b*b-4*a*c; if(d>=0) { x1=(-b+Math.sqrt(d))/(2*a); x2=(-b-Math.sqrt(d))/(2*a); System.out.println(\+Math.round(x1*100)/100.0); System.out.println(\+Math.round(x2*100)/100.0); } else { x1=-(double)b/(2*a); x2=Math.sqrt(-d)/(2*a); System.out.println(\+Math.round(x1*100)/100.0+\+Math.round(x2*100)/100.0+\); System.out.println(\+Math.round(x1*100)/100.0+\+Math.round(x2*100)/100.0+\); } } } } } 说明:为防止出错,在编程前应考虑周全 ? 当a=b=c=0时,方程有无数解; ? 当a=b=0,c!=0时,方程无解; ? 当a=0,b!=0时,方程解为x=-c/b; ? 当a!=0时,求:d=b*b-4*a*c 若d>=0,有两个不同实根:x=(-b±Math.sqrt(d))/(2*a) 若d<0,有两个不同复根:x=-b/(2*a)±Math.sqrt(-d)/(2*a)i 或: if(a==0) { if(b==0) { if(c==0) System.out.println(\); else System.out.println(\); } else { x1=-(double)c/b; System.out.println(\+Math.round(x1*100)/100.0); } } else { d=b*b-4*a*c; if(d>=0) { x1=(-b+Math.sqrt(d))/(2*a); x2=(-b-Math.sqrt(d))/(2*a); System.out.println(\+Math.round(x1*100)/100.0); System.out.println(\+Math.round(x2*100)/100.0); } else { x1=-(double)b/(2*a); x2=Math.sqrt(-d)/(2*a); System.out.println(\+Math.round(x1*100)/100.0+\+Math.round(x2*100)/100.0+\); System.out.println(\+Math.round(x1*100)/100.0+\+Math.round(x2*100)/100.0+\); } } 40033 简单计算器 输入一个正整数repeat (0 程序模拟简单运算器的工作:输入一个算式,遇等号\说明输入结束,输出结果。 假设计算器只能进行加减乘除运算,运算数和结果都是整数,4种运算符的优先级相同,按从左到右的顺序计算。 例:括号内是说明 输入 2 (repeat=2) 15 + 2 / 3 = (数字与运算符之间有一空格) 1 + 2 * 10 - 10 / 2 = (数字与运算符之间有一空格) 输出 5 10 import java.util.Scanner; public class T40033{ public static void main(String args[]) { int ri, repeat; int op1, op2, res; char operator; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ op1=in.nextInt(); operator=(in.next()).charAt(0); //先读入一个单词(字符串类型),再从中取出第0个字符,作为运算符 /*---------*/ res=op1; while(operator!='=') { op2=in.nextInt(); switch(operator) { case '+': res+=op2;break; case '-': res-=op2;break; case '*': res*=op2;break; case '/': res/=op2;break; } operator=(in.next()).charAt(0); } System.out.println(res); } } } 以下题目练习类的设计: 70011 设计一个Circle的子类——圆柱体Cylinder 输入一个圆柱体底圆的圆心坐标、圆半径、高度,分别计算并输出圆柱体的体积和表面积。 要求在Circle类的后面定义一个它的子类Cylinder类(圆柱体),该类包含以下成员: 成员变量h:高度,双精度浮点型 构造方法 成员方法calcArea():计算圆柱体表面积,返回双精度浮点数 成员方法calcV():计算圆柱体体积,返回双精度浮点数 成员方法getH():获得高度,返回双精度浮点数 输入输出示例(括号内是说明) 输入: 2 3 4 5 (圆心坐标x=2,y=3;半径r=4;高度h=5) 输出: r=4.0 h=5.0 V=251.33 (圆柱体体积) S=226.19 (圆柱体表面积) import java.util.*; public class Test70011 { public static void main(String[] args) { Scanner in=new Scanner(System.in); double x,y,r,h; x=in.nextDouble();y=in.nextDouble(); r=in.nextDouble();h=in.nextDouble(); Cylinder cy=new Cylinder(x,y,r,h); System.out.println(\ System.out.println(\ System.out.println(\ System.out.println(\ } } class Circle{ private double x,y,r; public Circle(double x,double y,double r){ this.x=x;this.y=y;this.r=r; } public double perimeter(){ //计算圆周长 return 2*Math.PI*r; } public double area(){ //计算圆面积 return Math.PI*r*r; } public double getR(){ return r; } } /*-----------------------------------*/ class Cylinder extends Circle{ public double h; public Cylinder(double x,double y,double r,double h){ super(x,y,r); this.h=h; } public double calcArea(){ return perimeter()*h+2*area(); } public double calcV(){ return area()*h; } public double getH(){ return h; } } 70012 编写重载方法,求二个数或三个数的最大值 输入一个正整数 n (n>0),做 n 次下列运算: 输入a、b、c三个整数,分别算出前2个数的最大值,和3个数的最大值。 要求在main()方法所在类的下方,定义一个Compare类,该类中定义两个类成员方法max(a,b)和max(a,b,c),用来分别获得两个数的最大值、三个数的最大值。 输入输出示例(括号内是说明): 输入: 2 (n=2) 4 34 66 (第一批3个数) 3 23 4 (第二批3个数) 输出: max(a,b)=34 (第一批中前两个数的最大值) max(a,b,c)=66 (第一批中的最大值) max(a,b)=23 (第二批中前两个数的最大值) max(a,b,c)=23 (第二批中的最大值) import java.util.*; public class Test70012 { public static void main(String[] args) { int i,n,a,b,c; Scanner in=new Scanner(System.in); n=in.nextInt(); for(i=1;i<=n;i++){ a=in.nextInt();b=in.nextInt();c=in.nextInt(); System.out.println(\ System.out.println(\ } } } /*----------------------------------------*/ class Compare{ public static int max(int a,int b){ return Math.max(a,b); } public static int max(int a,int b,int c){ return Math.max(Math.max(a, b), c); } }
正在阅读:
浙大JAVA 实验题答案14answer03-19
历年考古文博专业考研试题选辑1 - 图文05-18
新闻学专业(050308)- 湖北自考在线—湖北自学考试门户09-21
西北民大模电期末考试06-17
导线的几种连接方法01-09
用心工作 快乐生活(定稿)05-23
向劳模学习02-19
火灾应急预案范文4篇_应急预案03-26
微机接口实验报告8255并口控制器实验03-01
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 浙大
- 14answer
- 答案
- 实验
- JAVA
- 2019-2025年中国光伏逆变器市场研究及发展趋势预测(目录) - 图
- 七台河洗煤厂浮选药耗管理考核办法
- XXXX道路工程施工组织设计
- 河北省衡水中学高中化学422富集在海水中的元素 氯学案新人
- 企业青年政工人员职业规划问题分析
- 2017年人教新目标七年级英语下Unit5综合训练含答案
- 2013大学生村官考试笔试练习题11
- 八年级上语文第一、六单元复习卷
- 2014-2015五年级数学上册期中测试
- 一年级语文上册课文8河里的月亮教案苏教版精品推荐版
- 大学生使用手机调查报告
- 01建设工程质量监督申报表
- 2017人教版一年级语文上册第八单元电子备课(含教学反思) - 图
- 浙江省绍兴县杨汛桥镇中学九年级英语全册 unit 2 i think that m
- 公示材料-上海应用技术大学信息公开网
- 造价咨询合同示范文本
- 内河支流航道断面尺度探究
- XX年国庆假日旅游天旅游信息通报
- 第二单元 我们周围的空气 复习学案
- 基于EVA的核心人力资本激励机制及创新