ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

二柱子课堂测试

2022-09-11 12:00:36  阅读:171  来源: 互联网

标签:柱子 操作数 ClassTest2 System sc 测试 println 课堂 out


课堂测试1:像二柱子那样,花二十分钟写一个能自动生成30道小学四则运算题目的”软件“

课堂测试2:(1)题目避免重复

                     (2)可定制(数量\打印方式:输入大的数量值,测试一下系统是否崩溃,反向查找系统是否优化的余地;

              3:定制操作数的个数:

              4:定制是否有乘除法

              5:定制是否有括号(随机加入)

              6:定制数值范围(确定操作数的取值范围)

在这次实现二柱子四则运算的题目途中,我也碰到了几个问题:

(1)在开始写的时候只想着通过之前写的去提升,但是实际上不通过大动筋骨真的没法去完成这一项任务。由此可见,不能拘泥于之前写的那点东西,拿到新的任务为之后一定要先分析需求,然后去规划出不同的类,在类中构想出大概的方法和实现方式,一定不要边写边想,那样写到一半肯定会后悔的。

  (2)在写到一半的时候,我没有把这些子方法放到ClassTest2类中,而是和主方法一样放在ClassTest里,这就导致了我在面临错题重做阶段的问题时,我设置的关于错题题目以及对应答案的数组arrTest和arrAnswer都不能成功地得到其已经在其他字方法中获得的值,而是只能维持初始化时的空值。

·  我认为其中的原因是:我在主方法中使用这些数组的时候都需要通过实例化对象的方法去做,而当我实例化对象之后得到的是一个新对象,并不会直接得到我通过子方法获得的值,也就导致了这种情况。

  解决的方法也很简单:那就是把除了子方法之外所有的方法和属性都移植到ClassTest2类中,并定义新方法去完成上述操作,让它去当一个纯纯的工具人!有了工具人之后,ClassTest类中的主方法就可以直接通过调用ClassTest2中的方法实现想到达成的目标, 非~常~好用。

package pers.yan.classTest;

import java.util.Random;
import java.util.Scanner;
import pers.yan.classTest2.ClassTest2;

public class ClassTest
{
Scanner sc = new Scanner(System.in);

public static void main(String[] args)
{
ClassTest2 B = new ClassTest2();
boolean bexit = true;
while(bexit)
{
ClassTest A = new ClassTest();
B.enterMenu();
Scanner sc = new Scanner(System.in);
int iSure = sc.nextInt();
if(iSure == 1)
{
System.out.println("---------------开始练习-----------------");
System.out.println("请输入生成四则运算题目的个数:");
int iControl = sc.nextInt(); //iControl用于控制生成题目总数
System.out.println("请输入操作数的个数:");
int iControl2 = sc.nextInt(); //iControl2用于控制生成操作数的个数
System.out.println("请输入操作数的生成范围:");
int iField = sc.nextInt(); //iField用于控制操作数的生成范围
System.out.println("请输入是否有乘除法(有:1;没有:0)");
int iWay = sc.nextInt(); //iWay用于控制是否有乘除法
if(iControl < 1 || iControl2 < 2 || iField < 0 || (iWay != 1 && iWay != 0))
{
System.out.println("输入错误,请重新输入!");
return;
}
else
{
B.show(iControl,iWay,iControl2,iField);
}
}
else if(iSure == 2)
{
B.reTest();
}
else
{
System.out.println("已退出!");
bexit = false;
}
}
}

}

标签:柱子,操作数,ClassTest2,System,sc,测试,println,课堂,out
来源: https://www.cnblogs.com/fupeisen/p/16683767.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有