《数据结构与面向对象程序设计》实验二报告
课程:《程序设计与数据结构》
班级: 1923
姓名: 杨坤
学号:20192320
实验教师:王自强
实验日期:2020年10月8日
必修/选修: 必修
1.实验内容
(1) 编写简单的计算器,完成加减乘除模运算。
(2) 要求从键盘输入两个数,使用判定语句选择一种操作,计算结果后输出,然后使用判定和循环语句选择继续计算还是退出。
(3) 编写测试代码,测试验证。(https://www.cnblogs.com/rocedu/p/4472842.html)
2. 实验过程及结果
代码:
import java.util.Scanner;
public class easyCalculator {
public float num1,num2;
public String operate;
public String command;
public easyCalculator(float num1,float num2)
{this.num1 = num1;
this.num2=num2;
}
public easyCalculator(String operate,String command) {
this.operate = operate;
this.command=command;
}
public easyCalculator() {
}
public float add(float num1,float num2)
{
float result=num1+num2;
return result;
}
public float sub(float num1,float num2)
{
float result=num1-num2;
return result;
}
public float multi(float num1,float num2)
{
float result=num1*num2;
return result;
}
public float div(float num1,float num2)
{
float result=num1/num2;
return result;
}
public static void main(String[] args) {
int way;
float num1,num2,result=0;
String operate;
boolean command=true;
Scanner scan=new Scanner(System.in);
System.out.println("input the first number: ");
num1=scan.nextFloat();
while (command) {
System.out.println("input the operate:");
operate = scan.next();
System.out.println("input the second number :");
num2=scan.nextFloat();
easyCalculator temp=new easyCalculator();
if(operate.equals("+"))
{
result=temp.add(num1,num2);
}
else if(operate.equals("-"))
{
result=temp.sub(num1,num2);
}
else if(operate.equals("*"))
{
result=temp.multi(num1,num2);
}
else if(operate.equals("/"))
{ result=temp.div(num1,num2);}
System.out.println(num1+operate+num2+"=="+result);
System.out.println("go or out? go: 1.out:0 ");
way=scan.nextInt();
if(way==1){
command=true;
num1=result;
}
else command=false;
}
}}
测试代码:
public class easyCalculatorTest {
public static void main(String[] args) {
float num1=4;
float num2=5;
String operate;
easyCalculator temp=new easyCalculator();
float a=temp.add(num1,num2);
float b=temp.sub(num1,num2);
float c=temp.multi(num1,num2);
float d=temp.div(num1,num2);
if(a==9.0&&b==-1.0&&c==20.0)
System.out.println("The test is passed");
else
System.out.println("The test is not passed");
}}
3. 实验过程中遇到的问题和解决过程
问题1:不太清楚测试代码的编写,以及再一开始使用了main来直接编写计算器,导致再测试代码中无法引用
问题1解决方案:百度
问题2:包和包之间的引用不清楚
问题2解决方案:问朋友
...
其他(感悟、思考等)
对于包的认识还不够深刻。还需要再平时更多的编写代码。这次对于测试代码不了解,应该提前预习。
参考资料