实验一 基本程序设计
更新时间:2023-12-09 21:23:01 阅读量: 教育文库 文档下载
- 实验一小推荐度:
- 相关推荐
实验一 基本程序设计
1、实验目的
巩固以下几个概念:
使用Scanner类从控制台获取输入。
使用if语句,使用if 、else if、else语句。
使用while语句,使用do-while语句,使用for语句编写循环。
2、实验要求
(1)编写一个程序,读入一笔费用与酬金率,计算酬金和总钱数。例如,如果用户输入10作为费用,15%作为酬金率,计算结果显示酬金为¥1.5,总费用为¥11.5。下面是一个运行示例:
Enter the subtotal(费用) and a gratuity rate(酬金率): 15.69 15 The gratuity(酬金) is 2.35 and total(总费用) is 18.04 关键代码:
java.util.Scanner input = new java.util.Scanner(System.in); input.nextDouble();
变量名: subtotal(费用);
rate(酬金率); gratuity(酬金); total(总费用);
(2) (求ASCII码对应的字符)编写程序接受一个ASCII码(从0到128的整数),然后显示它所代表的字符。例如用户输入的是97,程序显示的是俄字符a。下面是一个运行示例:
Enter an ASCII code:69
The character for ASCII code 69 is E 关键代码:(char)code; 变量名:code
(3) (计算一个三角形周长)编写程序,读取三角形的三条边,如果输入值合法就计算这个三角形的周长;否则,显示这些输入值不合法。如果任意两条边的和大于第三边,那么输入值都是合法的。 变量名:edge1,edge2,edge3;
(4) (解一元二次方程)求一元二次方程ax2 + bx + c = 0的两个根,b就有*b-4ac称作一元二次方程的判别式。如果它是正值,那么一元二次方程俄就有两个正根。如果它为0,方程就只有一个根。如果它是负值,方程无实根。编写程序,提示用户输入a、b和c的值,并且显示基于判别式的结果。如果判别式为正,显示两个根,如果判别式为0,显示一个根,如果判别式为负,显示方程无实根。
提示:使用Math(x,0.5)计算x的平方根。 运行示例:Enter a,b,c: 1.0 3 1
The root are -0.381966 and -2.61803
Enter a,b,c: 1 2.0 1
The root is -1
Enter a,b,c: 1 2 3
The equation has no real roots 变量名:double a,b,c;
double discriminant = b*b – 4*a*c(判别式) double r1,r2;
(5)(统计正数和负数的个数,然后计算这些数的平均值)编写程序,读入未指定个数的整数,判断读入的正数有多少个,读入的负数有多少个,然后计算这些输入值的总和及其平均值(不对0计数)。当输入为0时,表示程序结束。将平均值以浮点数显示。下面是一个运行示例:
Enter an int value, the program exits if the input is 0: 1 2 -1 3 0
The number of positives is 3 The number of negatives is 1 The total is 5
The average is 1.25
参看课本程序清单4-4,用到的变量名: int countPositive(统计正数个数)、 countNegative(统计负数个数)、 count(统计输入数值个数)、total (总和)、num(输入数);
3、 程序模板 4、 实验指导
? 标识符是由字母、数字、下划线和美元符号构成的字符序列。 ? 标识符不能是保留字。
? 标识符必须以字母或下划线开头,不能以数字开头。
? 使用选择语句可以对有可选择路径的情况进行程序设计。选择语句有以下几
种类型:if语句、if?else语句、嵌套if语句、switch语句和条件表达式。 ? While 循环和for循环都称为前测循环,do-while循环称为后测循环。 5、实验报告
1、实验完成后,检查是否达到试验目的。 2、编写实验报告(打印或手写均可),在下一次上实验课时提交。 3、评出成绩,按五级(A,B,C,D、E)评分。
试验二 方法
一、试验目的
巩固以下几个概念:定义方法;
会调用带返回值和不带返回值的方法; 掌握方法的按值传参;
会开发模块化的、易读、易调试和易维护的可重用代码;
使用方法重载,理解歧义重载。 二、试验要求
(1)一个五角数被定义为n(3n-1)/2,其中n=1,2,?。所以,开始的几个数字就是1,5,12,22?,编写下面的方法返回一个五角数:
public static int getPentagonaNumber(int n)
编写一个测试程序显示前100个五角数,每行显示10个。 提示:通过for循环语句打印前100个五角数。
(2)编写一个方法,计算一个整数各位数字之和:
public static int sumDigits(long n)
例如:sumDigits(234)返回9(2 + 3 + 4)。
提示:使用求余运算符%提取数字,用/去掉提取出来的数字。例如:使用234 (=4)提取4。然后使用234/10(=23)从234中去掉4。使用一个循环来反复提取和去掉每位数字,直到所有的位数都提取完为止。
编写程序提示用户输入一个整数,然后显示这个整数所有数字的和。 Remainder(余数)
(3) (回文整数)编写下面两个方法:
// Return the reversal of an integer, i.e.reverse(456) returns 654
public static int reverse(int number)
reverse关键代码:
// number 是输入值,取余得到个位数;result存储返回的倒置
数
int remainder = number % 10;
result = result * 10 + remainder;
number = number / 10;//去掉个位数,得到十位数 //Return true if number is palindrome
public static boolean ispalindrome(int number)
使用reverse方法实现ispalindrome。如果一个数字的反向倒置数和它的顺向数一样,这个数就称作回文数。编写一个测试程序,提示用户输入一个整数值,然后报告这个整数是否是回文数。
(4)创建一个名为MyTriangle的类,它包含如下两个方法: /** Return true if the sum of any two sides is * greater than the third side.*/
public static boolean isValid(double side1,double side2,double side3)
/** Returns the area of the triangle. */
public static double area(double side1,double side2,double side3)
编写一个测试程序,读入三角形三边的值,若输入有效,则计算面积;否则显示输入无效。
提示:计算三角形面积公式:
s = (side1 + side2 + side3) / 2;//周长的一半
三角形面积公式:Math.sqrt(s * (s - side1) * (s - side2) * (s - side3)) 三、试验模版 四、试验指导
? 方法头指定方法的修饰符、返回值类型、方法名和参数。
? 方法可以返回一个值。返回值类型是方法要返回的值的数据类型。如果方法
不返回值,则返回值类型就是关键字void。 ? 参数列表是指方法中参数的类型、次序、数量。
? 方法名和参数列表一起构成方法签名。参数是可选的,即一个方法可以不包
含参数。
? Return语句也可以用在void方法中,用来终止方法并返回到方法的调用者。 在方法中用于偶尔改变正常流程控制是很有用的。
? 传递给方法的实际参数和方法签名的形式参数具有相同的数目、类型和顺
序。
? 当程序调用一个方法时,程序控制就转移到被调用的方法。当执行到该方法
的return语句或到达方法结束的右括号时,被调用的方法将程序控制还给调用者。
? 方法可以重载,两个方法可以拥有相同的方法名,只要它们的参数列表不同
即可。
五、试验报告
1、实验完成后,检查是否达到试验目的。 2、编写实验报告(手写),在下一次上实验课时提交。 3、评出成绩,按五级(A,B,C,D、E)评分
试验三 数组
一、试验目的 巩固以下几个概念:
声明一维数组引用变量、创建数组; 初始化数组中的值;
使用下标变量访问数组元素;
编写程序实现常用的一维数组操作;
声明二维数组引用变量、创建数组以及使用行下标和列下标访问二维数组中的数组元素;
编写程序实现常用的二维数组操作; 给方法传递二维数组。
二、试验要求
(1)编写程序,读取10个整数,然后按照和读入顺序相反的顺序将它们显示出来。
提示:int[] num = new int[10]。
(2)(指定等级)编写一个程序,读入学生成绩,获取最高分best,然后根据下面的规则赋等级值:
如果分数 >= best – 10,等级为A 如果分数 >= best – 20,等级为B 如果分数 >= best – 30,等级为C 如果分数 >= best – 40,等级为D 其他情况下,等级为F 程序提示用户输入学生总数,然后提示用户输入所有的分数,最后显示等级得出结论。下面是一个运行示例:
Enter the number of students: 4 Enter 4 scores: 40 55 70 58
Student 0 score is 40 and grade is C Student 1 score is 40 and grade is B Student 2 score is 40 and grade is A Student 3 score is 40 and grade is B
提示: int[] scores = new int[numberOfStudents]; // Array scores int best = 0; // The best score char grade; // The grade (3) (计算数字的出现次数)编写程序,读取在1到100之间的整数,然后计算每个数出现的次数。假定输入是以0结束的。下面就是这个程序的运行示例: Enter the integers between 1 and 100: 2 5 6 5 4 3 23 43 2 0 2 occurs 2 times 3 occurs 1 time 4 occurs 1 time 5 occurs 2 times 6 occurs 1 time 23 occurs 1 time 43 occurs 1 time
提示:如果一个数出现次数大于一次,输出时使用复数“times”。 (counts[i] == 1) ? \
(4)编写一个方法,使用下面的方法头求出一个整数数组中的最小元素: public static double min(double[] array)
编写测试程序,提示用户输入10个数字,调用这个方法,返回最小元素值。
(5)编写一个方法,求整数矩阵中所有整数的和,使用下面的方法头: Public static double sumMatrix(int[][] m) 编写一个测试程序,读取一个4 X 4的矩阵,然后显示所有元素的和。下面是一个运行示例:
Enter a 4-by-4 matrix row by row: 1 2 3 4 5 6 7 8 9 10 11 12
正在阅读:
实验一 基本程序设计12-09
SLA账户推导规则设置步骤05-28
庆十一02-17
福师12秋《计算机原理与接口技术》练习题11-15
新婚庆典方案01-02
基于温湿度传感器物联网应用实时 数据处理系统开发(个人版 3)01-02
高二历史上册 世界近现代史 电子题库 第2章第六节课堂达标训练04-28
南京汽修协会04年工作总结05年工作设想09-28
西安交通大学数字图像处理第二次作业11-23
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 程序设计
- 实验
- 基本
- 大学生个人先进事迹范文500字 - 图文
- 智能装置与设计实验指导书2013 - 图文
- 二年级下册语文教案-称象沪教版(2015秋)
- 药物化学练习题及答案
- 老客户经营活动邀请话术
- 2019年教师队伍建设工作总结 - 模板
- (实用)参观辽宁省反腐倡廉警示教育基地观后感心得体会
- 黑龙江省预防和治理机关事业单位工作人员“吃空饷”暂行办法
- 高斯计算常见错误及解决方案
- 西师版五年级下册数学教材分析
- 五年级小数乘法教案
- 仪征枣林湾拆迁管理办法
- 跨境贸易人民币结算出口货物退(免)税政策
- 专业工程、劳务分包采购管理办法
- 材力概念题 - 1
- 合工大需求工程期末复习考点例题 - 图文
- 煤矿机电设备的维护与维修
- 机械设计思考题答案
- 大学生党员如何践行社会主义核心价值观
- 全新版大学英语综合教程4