gpt4 book ai didi

java - 如何合并类(class)?

转载 作者:行者123 更新时间:2023-12-01 14:12:32 25 4
gpt4 key购买 nike

这是一个相当愚蠢的问题,但我无法解决它(可能是因为一天结束了)。

  • 目前,我有 3 个类:MainMathTaskTask
  • 从 Main 我提供参数:级别、计数。
  • 我想收到: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;
}
}

可以做得更好吗?如何结合 MathTaskTask 来保留功能?

最佳答案

getNewTaskgetOperationgetRandomInt设置为Task的静态方法。以下是他们的新签名:

public static Task getNewTask(int level, int count)
public static int getOperation(int count)
public static int getRandomInt(int from, int to)

然后,只需删除 MathTask 并调用:

Task t = Task.getNewTask(level, count);

关于java - 如何合并类(class)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18383728/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com