• 四则运算3


    设计思想:利用数组将两个随机数分装 分别表示参与运算的数 以及运算的符号,利用条件语句对不同情况下的结果进行计算与用户输入的值进行比较实现对结果的判断,并记录正确的个数 , 将上述内容放在一个方法中再在main方法中进行调用实现实验要求;
    package
    arithmetic3; import java.util.Scanner; public class Arithmetic3 { int count; public static void main(String[] args) { Arithmetic3 t=new Arithmetic3(); int choose=0; Scanner c=new Scanner(System.in); System.out.println("请进行以下30道四则运算,对于除法正确结果为他的最大商值"); System.out.println("请选择要做的试题类型1:两个数的四则运算,2:包含多项式的四则运算"); System.out.println("-------------------------------------------------------------"); choose=c.nextInt(); if(choose==1) { t.arithmetic(); } else if(choose==2) { t.arithmetic2(); } else { System.out.println("输入选择超出规定范围!"); } System.out.println("您一共做对了"+t.count+"道题"); } private void arithmetic() { int j; int num1[]=new int[50]; int mark[]=new int[50]; char mark1[]=new char[50]; int result1=0,result; Scanner r=new Scanner(System.in); for(j=1;j<=30;j++) { num1[j]=(int)(Math.random()*100); mark[j]=(int)(Math.random()*4); if(mark[j]==0) { mark1[j]='+'; result1=num1[j-1]+num1[j]; } else if(mark[j]==1) { mark1[j]='-'; result1=num1[j-1]-num1[j]; } else if(mark[j]==2) { mark1[j]='*'; result1=num1[j-1]*num1[j]; } else { mark1[j]='/'; result1=num1[j-1]/num1[j]; } System.out.print(num1[j-1]); System.out.print(mark1[j]); System.out.println(num1[j]+"="); result=r.nextInt(); if(result==result1) { System.out.println("回答正确!"); count++; } else { System.out.println("回答错误!"); } } } private void arithmetic2() { int j,num=3,k; int num1[]=new int[100]; int mark[]=new int[100]; char mark1[]=new char[100]; int result1=0,result; Scanner r=new Scanner(System.in); for(j=1;j<=30;j++) { for(k=1;k<num;k++) { num1[k]=(int)(Math.random()*100); mark[k-1]=(int)(Math.random()*4); // num=(int)(Math.random()*5+2); if(mark[k]==0) { mark1[k]='+'; //result1=(num1[k-1]+num1[k])+num1[k+1]; } else if(mark[k]==1) { mark1[k]='-'; // result1=(num1[k-1]-num1[k])-num1[k+1]; } else if(mark[k]==2) { mark1[k]='*'; //result1=(num1[k-1]*num1[k])*num1[k+1]; } else { mark1[k]='/'; // result1=(num1[k-1]/num1[k])/num1[k+1]; } if(mark1[1]=='+'&&mark1[2]=='-') { result1=num1[k-1]+num1[k]-num1[k+1]; } else if(mark1[1]=='-'&&mark1[2]=='+') { result1=num1[k-1]-num1[k]+num1[k+1]; } else if(mark1[1]=='*'&&mark1[2]=='/') { result1=(num1[k-1]*num1[k])/num1[k+1]; } else if(mark1[1]=='/'&&mark1[2]=='*') { result1=(num1[k-1]/num1[k])*num1[k+1]; } else if(mark1[1]=='+'&&mark1[2]=='*') { result1=num1[k-1]+(num1[k]*num1[k+1]); } else if(mark1[1]=='*'&&mark1[2]=='+') { result1=(num1[k-1]*num1[k])+num1[k+1]; } else if(mark1[1]=='+'&&mark1[2]=='/') { result1=num1[k-1]+(num1[k]/num1[k+1]); } else if(mark1[1]=='/'&&mark1[2]=='+') { result1=(num1[k-1]/num1[k])+num1[k+1]; } else if(mark1[1]=='-'&&mark1[2]=='*') { result1=num1[k-1]-(num1[k]*num1[k+1]); } else if(mark1[1]=='*'&&mark1[2]=='-') { result1=(num1[k-1]*num1[k])-num1[k+1]; } else if(mark1[1]=='-'&&mark1[2]=='/') { result1=num1[k-1]-(num1[k]/num1[k+1]); } else if(mark1[1]=='/'&&mark1[2]=='-') { result1=(num1[k-1]/num1[k])-num1[k+1]; } else if(mark1[1]=='+'&&mark1[2]=='+') { result1=num1[k-1]+num1[k]+num1[k+1]; } else if(mark1[1]=='-'&&mark1[2]=='-') { result1=num1[k-1]-num1[k]-num1[k+1]; } else if(mark1[1]=='/'&&mark1[2]=='/') { result1=(num1[k-1]/num1[k])/num1[k+1]; } else { result1=(num1[k-1]*num1[k])*num1[k+1]; } } if(mark1[1]=='/'&&mark1[2]=='/') { System.out.print("("+num1[1]+"/"+num1[2]+")"+"/"+num1[3]+"="); } else { for(k=1;k<num;k++) { System.out.print(num1[k]); System.out.print(mark1[k]); } System.out.println(num1[num]+"="); } result=r.nextInt(); if(result==result1) { System.out.println("回答正确!"); count++; } else { System.out.println("回答错误!"); } } } }
    编程总结:对于实现实验要求我觉得最重要的还是对计算,比较,条件的逻辑过程,对程序本身而言将一些方法分装再在住方法中调用会显得条理更加清晰。

    项目计划总结表:日期:2016/3/26

    
    
    日期任务 听课 编写程序 阅读课本       日总计
    周日              
    周一 140   30       170
    周二              
    周三   140         140
    周四   30 30       60
    周五              
    周六   140 60       200
    周总结              
    
    

    时间记录日志:日期:2016/3/26

    
    
    日期 开始时间 结束时间 中断时间 净时间 活动 备注    
    3/21 8:00 9:50 10 140 上课      
      13:00 1:30 10 20 看书 找作业思路    
    3/23 15:00 18:00 40 140 写程序 写程序,找资料,休息    
    3/24 14:30 3:00 0 30 写程序      
    3/26 15:00 18:00 40 140 写程序 写程序,找资料,思考    
                     
                     
                     
                     
    
    

    缺陷记录日志:日期:2016/3/26  

    
    
    日期 编号 引入阶段 排除阶段 修复时间 修复缺陷 描述
    3/23 1 编码 编译 10min   数组定义长度不够
                 
    3/26 2 编码 编译 3min   输出出现了换行问题
                 
    
    
  • 相关阅读:
    【软件测试】软件缺陷粗浅认识及白盒测试举例
    【软件测试】等价类划分
    【软件测试】对本门课程粗浅理解
    阿里云服务器本地ping超时,远程可以正常ping通
    不忘初心
    开源框架、控件、组件、插件记录
    Flex中窗口可随意拖拽功能实现
    初探数据类型相关问题
    [TSCTF-J 2021] 解题报告
    指针
  • 原文地址:https://www.cnblogs.com/wanghao369/p/5323752.html
Copyright © 2020-2023  润新知