20192303 2020-2021-1 《数据结构与面向对象程序设计》实验二报告
课程:《程序设计与数据结构》
班级: 1923
姓名: 杨佳宁
学号:20192303
实验教师:王志强
实验日期:2020年10月8日
必修/选修: 必修
1.实验内容
(1) 编写简单的计算器,完成加减乘除模运算。
(2) 要求从键盘输入两个数,使用判定语句选择一种操作,计算结果后输出,然后使用判定和循环语句选择继续计算还是退出。
(3) 编写测试代码,测试验证。(https://www.cnblogs.com/rocedu/p/4472842.html)
2. 实验过程及结果
(1)编写简单的计算器,完成加减乘除模运算,并实现循环
计算器代码:
public class calculator {
public static void main(String[] args) {
String string;
Scanner scan =new Scanner(System.in);
char op;
double num1, num2;
int choice;
do {
System.out.println("Please choose the type of operation:");
string=scan.next();
op = string.charAt(0);
System.out.println("Please input the num1 and num2");
num1=scan.nextDouble();
num2=scan.nextDouble();
switch (op) {
case '+':
{System.out.println("num1+num2=" + (num1+num2));break;}
case '-':
{System.out.println("num1-num2=" + (num1-num2));break;}
case '*':
{System.out.println("num1*num2=" + (num1*num2));break;}
case '/':
{System.out.println("num1/num2=" + (num1/num2));break;}
case '%':
{System.out.println("num1%num2=" + (num1%num2));break;}
}
System.out.println("if you want to continue,please enter 1");
choice=scan.nextInt();
}while(choice==1);
}
}
(2)编写测试代码并进行验证
测试代码
import junit.framework.TestCase;
import org.junit.Test;
public class calculatorTest extends TestCase {
@Test
public void testAdd() throws Exception{
assertEquals(15,1+14);
assertEquals(56,36+20);
}
@Test
public void testSub() throws Exception{
assertEquals(3,21-18);
assertEquals(4,6-2);
}
@Test
public void testMti() throws Exception{
assertEquals(72,9*8);
assertEquals(69,3*23);
}
@Test
public void testDiv() throws Exception{
assertEquals(9,54/6);
assertEquals(4,28/7);
}
}
(3)上传码云
码云链接:https://gitee.com/besti1923/yang-jianing-20192303/commit/f9044f3b5db8848f173634124fe8433869d41a21
3. 实验过程中遇到的问题和解决过程
- 问题1:不了解如何用JAVA输入字符
- 问题1解决方案:使用
op = string.charAt(0);
截取第一个字符
其他(感悟、思考等)
1、实验之前做好充分的预习可以达到事半功倍的效果
2、在编写代码之前要对代码的整体框架有一个构想
3、通过这次实验发现自己对课本内容掌握的还不够扎实,应加强练习