parent
d6d67faaae
commit
24a1bba82d
@ -0,0 +1,118 @@
|
||||
import java.util.Random;
|
||||
|
||||
public class Question {
|
||||
private int operatorNum;
|
||||
private int isFenshu;
|
||||
private String equation;
|
||||
private String[] num=null;
|
||||
private String[] ch=null;
|
||||
public Question() {
|
||||
this.operatorNum =1;
|
||||
this.isFenshu = 0;
|
||||
this.equation="";
|
||||
num=new String[5];
|
||||
ch=new String[4];
|
||||
}
|
||||
|
||||
public void setOperatorNum() {
|
||||
int a;
|
||||
Random random=new Random();
|
||||
a=random.nextInt(4);
|
||||
if(a==0){
|
||||
operatorNum=++a;
|
||||
}else if(a==1){
|
||||
operatorNum=++a;
|
||||
}else if(a==2){
|
||||
operatorNum=++a;
|
||||
}else{
|
||||
operatorNum=++a;
|
||||
}
|
||||
}
|
||||
public void setIsFenshu(){
|
||||
Random random=new Random();
|
||||
isFenshu=random.nextInt(2);
|
||||
}
|
||||
public String setNum(){
|
||||
Random random=new Random();
|
||||
if(isFenshu==0){
|
||||
return ""+(random.nextInt(25)+1);
|
||||
}
|
||||
int a;
|
||||
int b;
|
||||
a=random.nextInt(16);
|
||||
b=random.nextInt(21);
|
||||
if(a==0){
|
||||
a++;
|
||||
}
|
||||
if(b==0){
|
||||
b+=2;
|
||||
}
|
||||
if(b==1){
|
||||
b++;
|
||||
}
|
||||
for (int i = 2; i <= (a<b?a:b); i++) {
|
||||
if(a%i==0&&b%i==0){
|
||||
a=a/i;
|
||||
b=b/i;
|
||||
}
|
||||
}
|
||||
if(b==1){
|
||||
return ""+a;
|
||||
}
|
||||
return ""+a+"/"+b;
|
||||
}
|
||||
public void setEquation(){
|
||||
setOperatorNum();
|
||||
setIsFenshu();
|
||||
num[0]=setNum();
|
||||
for (int i = 0; i < operatorNum; i++) {
|
||||
Random random=new Random();
|
||||
int a=random.nextInt(4);
|
||||
if(a==0){
|
||||
ch[i]="+";
|
||||
}else if(a==1){
|
||||
ch[i]="-";
|
||||
}else if(a==2){
|
||||
ch[i]="✖";
|
||||
}else{
|
||||
ch[i]="➗";
|
||||
}
|
||||
setIsFenshu();
|
||||
num[i+1]=setNum();
|
||||
}
|
||||
}
|
||||
|
||||
public String getEquation() {
|
||||
this.equation="";
|
||||
this.equation+=num[0];
|
||||
for (int i = 0; i < operatorNum; i++) {
|
||||
this.equation+=ch[i];
|
||||
this.equation+=num[i+1];
|
||||
}
|
||||
this.equation+="=";
|
||||
return equation;
|
||||
}
|
||||
|
||||
public void result(){
|
||||
int fenmu=1;
|
||||
for (int i=0;i<operatorNum+1;i++) {
|
||||
if(num[i].indexOf("/")!=-1){
|
||||
num[i].substring(num[i].indexOf("/")+1);
|
||||
fenmu*=Integer.parseInt(num[i].substring(num[i].indexOf("/")+1));
|
||||
}
|
||||
}
|
||||
for (int i = 0; i < operatorNum+1; i++) {
|
||||
if(num[i].indexOf("/")==-1){
|
||||
num[i]=""+Integer.parseInt(num[i])*fenmu+"/"+fenmu;
|
||||
}
|
||||
if(num[i].indexOf("/")!=-1){
|
||||
int sfenmu;
|
||||
sfenmu=Integer.parseInt(num[i].substring(num[i].indexOf("/")+1));
|
||||
num[i]=""+Integer.parseInt(num[i].substring(0, num[i].indexOf("/")))*(fenmu/sfenmu)+"/"+fenmu;
|
||||
}
|
||||
}
|
||||
for (int i = 0; i < operatorNum; i++) {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in new issue