https://github.com/21yy 折腾了一中午还是用的idea去push,,命令行还是没弄清楚,, 主要对idea也不是很熟悉_(:зゝ∠)_明天继续研究
四则运算第一个问题就是关于随机数的。。一开始用 java.util.Random 来做随机数。。用random.nextInt()%4来做运算符的随机,结果因为随机结果存在负数导致数组超限,更改为random.nextInt(4)来选择数组里相应的运算符。 不过有一点至今不懂:我把分子分母的随机用 Math.abs(random.nextInt()%29)+1; 得出,但是根据运行的时候还是存在0的情况。不过根据测试的结果来看,只有分子出现了为0的情况,也有可能是分子大于分母,分子第二次随机的时候导致:
if (b2!=1&&b1>b2){
b1=Math.abs(random.nextInt()%(b2-1)+1);
}//b2为分母,b1为分子
为此不得不加进被除数为0时撇去除号的判断。
其次是输入,因为直接按照真分数四则运算来做,又不排除整数,所以一个一个判断来输出完整算式(因为偷懒就没去化简分数_(:зゝ∠)_)
计算则是正常的计算方式,得出计算结果再通过辗转相除法得除最大公约数来化简。
答案判断则是根据输入是否含有'/'分为两拨。若输入的答案为分式,则通过split分开分子分母,再通过约分为最简再与计算出的正确答案相比较。其中比较特殊答案如分子分母相同,或分子为0分母可为任意非0整数等。。不过仍有一些问题没解决,如正负的判断,多余的空格处理,还有回车的处理等等。。