20192307 2020-2021-1 《数据结构与面向对象程序设计》实验二报告
20192307 2020-2021-1 《数据结构与面向对象程序设计》实验二报告
- 课程:《数据结构与面向对象程序设计》
- 班级: 1923
- 姓名: 常万里
- 学号: 20192307
- 实验教师:王志强老师
- 实验日期:2020年10月8日
- 必修/选修: 必 修
一、实验内容
- (1) 编写简单的计算器,完成加减乘除模运算。
- (2) 要求从键盘输入两个数,使用判定语句选择一种操作,计算结果后输出,然后使用判定和循环语句选择继续计算还是退出。
- (3) 编写测试代码,测试验证。(https://www.cnblogs.com/rocedu/p/4472842.html)
二、实验过程及结果
(1)编写简单的计算器,完成加减乘除模运算。
package NBE6;
import java.util.Scanner;
public class Calculator {
public static double Calculator(double x, double y, int z) {
double k;
if (z == 1) {
System.out.println("m + n = " + (x + y));
k = x + y;
return k;
}
if (z == 2) {
System.out.println("m - n = " + (x - y));
k = x - y;
return k;
}
if (z == 3) {
System.out.println("m * n = " + (y * x));
k = x * y;
return k;
}
if (z == 4) {
System.out.println("m / n = " + (x / y));
k = x / y;
return k;
}
if (z == 5) {
System.out.println("m % n = " + (x % y));
k = x % y;
return k;
}
if (z == 6) {
System.out.println("m % n = " + (Math.pow(x, y)));
k = (float) Math.pow(x, y);
return k;
}
return 0;
}
public static void main(String[] args) {
System.out.println(" Welcome!This is a simple calculator.\n");
for (; ; ) {
System.out.println("What kind of operations do you want?");
System.out.println("1.Addition");
System.out.println("2.Subtraction");
System.out.println("3.Multiplication");
System.out.println("4.Division");
System.out.println("5.Take remainder");
System.out.println("6.Power");
System.out.println("7.Quit");
Scanner input = new Scanner(System.in);
int a = input.nextInt();
if (a < 1 || a > 7) {
System.out.println("error!please choose again");
}
if (a == 7) {
break;
}
System.out.println("Please input two numbers m and n:");
float m = input.nextFloat();
float n = input.nextFloat();
Calculator(m, n, a);
}
}
(2)要求从键盘输入两个数,使用判定语句选择一种操作,计算结果后输出,然后使用判定和循环语句选择继续计算还是退出。
(3)编写测试代码,测试验证。
package NBE6;
import junit.framework.TestCase;
import org.testng.annotations.Test;
public class CalculatorTest extends TestCase {
double m, n;
{
m = 9;
n = 6;
}
@Test
public void testAddition() throws Exception {
assertEquals(15,9+6);
}
@Test
public void testSubtraction() throws Exception {
assertEquals(3,9-6);
}
@Test
public void testMultiplication() throws Exception {
assertEquals(54,9*6);
}
@Test
public void testDivision() throws Exception {
assertEquals(1,9/6);
}
@Test
public void testRemainder() throws Exception {
assertEquals(3,9%6);
}
@Test
public void testPower() throws Exception {
assertEquals(531441.0,Math.pow(9,6));
}
三、实验过程中遇到的问题和解决过程
- 问题1:idea在进行run的时候,一直出现这个窗口,必须对JAVA程序进行配置
- 问题1解决方案:按照教程重新进行JAVA项目配置,在结构位置进行项目运行就可以了
四、心得体会
- 在这次实验过程中,我遇到了许多问题,其中既有知识上的漏洞,也有不细心导致的马虎,这一切都补充,完善,丰富,扩展了我的计算机知识体系。在不断修复问题的过程中,我使用了很多方式去查询资料,例如:《数据结构与面向对象程序设计》,博客园平台,CSDN平台,码云平台,知乎app,等。在这个Linux命令行的使用中,我还进一步熟悉了Intellij IDEA这个个平台的使用与运行方式,提高了自己自主学习的能力,为我接下来学习数据结构以及JAVA语言程序设计打下了坚实的基础,并在不断探索的过程中逐步提升了自己。