それはかなりばかげた質問ですが、解決できません(おそらく一日の終わりのためです)。
- 現時点では、
Main
、MathTask
、の 3 つのクラスがありTask
ます。 - Main から、次の引数を指定します: level、count。
- 受け取りたい:a、b、答え、操作。
私はこのようにしました:
MathTask mt = new MathTask(level, count);
Task t = mt.getNewTask();
数学タスク:
public class MathTask {
int level;
int answer;
int count;
public MathTask(int level,int count){
this.level=level;
this.count=count;
}
public Task getNewTask() {
int range = (int) Math.pow(10, level);
int a = getRandomInt(0, range);
int b = getRandomInt(0, range);
String operation = "";
int sw = getOperation();
switch (sw) {
case 0:
// sum
answer = a + b;
operation = "+";
break;
case 1:
// substruct
answer = a - b;
operation = "-";
break;
case 2:
// multiply
answer = a * b;
operation = "*";
break;
case 3:
// divide
answer = a / (++b);
operation = "/";
break;
default:
break;
}
return new Task(a, b, answer, operation);
}
public int getOperation() {
if (count < 5)
return 0;
else if (count > 4 && count < 10)
return 1;
else if (count > 9 && count < 15)
return 2;
else if (count > 14 && count < 20)
return 3;
return 0;
}
public int getRandomInt(int from, int to) {
return from + (int) (Math.random() * ((to - from) + 1));
}
}
仕事
public class Task {
private int a;
private int b;
private int answer;
private String operation;
public Task(int a, int b, int answer, String operation) {
this.a = a;
this.b = b;
this.answer = answer;
this.operation = operation;
}
public int getA() {
return a;
}
public int getB() {
return b;
}
public void setB(int b) {
this.b = b;
}
public int getAnswer() {
return answer;
}
public String getOperation() {
return operation;
}
}
もっとうまくできるでしょうか?どのように組み合わせMathTask
てTask
機能を維持するか?