学习java和can';t算出y=m*x+;B
创建代数导师尝试创建随机整数来解y=m*x+b。搜索发现很多用户都使用过这个等式,但没有生成一个随机问题来要求回答并检查是否正确。这就是我到目前为止写的东西学习java和can';t算出y=m*x+;B,java,Java,创建代数导师尝试创建随机整数来解y=m*x+b。搜索发现很多用户都使用过这个等式,但没有生成一个随机问题来要求回答并检查是否正确。这就是我到目前为止写的东西 import java.util.Scanner; class AlgebraTutor { private static Scanner in = new Scanner(System.in); public static void main(String[] args) { for (int x = 0; x &l
import java.util.Scanner;
class AlgebraTutor {
private static Scanner in = new Scanner(System.in);
public static void main(String[] args) {
for (int x = 0; x < 1; x++){
System.out.println("X = " + ((int)(Math.random() * 200) -99));
}
for (int m = 0; m < 1; m++){
System.out.println("M = " + ((int)(Math.random() * 200) -99));
}
for (int b = 0; b < 1; b++){
System.out.println("B = " + ((int)(Math.random() * 200) -99));
}
}
}
但那不是我想象的那样。我希望能够输入一个答案,并让它检查正确或错误。谢谢你给我的建议,让我度过难关 您需要将值存储在变量中,例如:
int x = ((int)(Math.random() * 200) -99));
另外,for循环是不必要的,因为它们只运行一次,所以您可以只运行程序而不是循环一次
因此,最终您的代码应该是这样的:
import java.util.Scanner;
class AlgebraTutor {
private static Scanner in = new Scanner(System.in);
public static void main(String[] args) {
int x = ((int)(Math.random() * 200) -99);
int m = ((int)(Math.random() * 200) -99);
int b = ((int)(Math.random() * 200) -99);
System.out.println("X = " + x);
System.out.println("M = " + m);
System.out.println("B = " + b);
System.out.println("Y = " + m*x+b);
}
}
import java.util.Scanner;
class AlgebraTutor {
private static Scanner in = new Scanner(System.in);
public static void main(String[] args) {
int x = ((int)(Math.random() * 200) -99);
int m = ((int)(Math.random() * 200) -99);
int b = ((int)(Math.random() * 200) -99);
int y = m*x+b;
System.out.println("X = " + x);
System.out.println("M = " + m);
System.out.println("B = " + b);
int INPUT = in.nextInt();
if(INPUT == y){
System.out.println("You Got It Right!");
System.out.println("Y = " + y);
} else {
System.out.println("You Got It Wrong :(");
System.out.println("The Answer was: Y = " + y);
}
}
}
要让它检查答案是真是假,你必须这样做:
import java.util.Scanner;
class AlgebraTutor {
private static Scanner in = new Scanner(System.in);
public static void main(String[] args) {
int x = ((int)(Math.random() * 200) -99);
int m = ((int)(Math.random() * 200) -99);
int b = ((int)(Math.random() * 200) -99);
System.out.println("X = " + x);
System.out.println("M = " + m);
System.out.println("B = " + b);
System.out.println("Y = " + m*x+b);
}
}
import java.util.Scanner;
class AlgebraTutor {
private static Scanner in = new Scanner(System.in);
public static void main(String[] args) {
int x = ((int)(Math.random() * 200) -99);
int m = ((int)(Math.random() * 200) -99);
int b = ((int)(Math.random() * 200) -99);
int y = m*x+b;
System.out.println("X = " + x);
System.out.println("M = " + m);
System.out.println("B = " + b);
int INPUT = in.nextInt();
if(INPUT == y){
System.out.println("You Got It Right!");
System.out.println("Y = " + y);
} else {
System.out.println("You Got It Wrong :(");
System.out.println("The Answer was: Y = " + y);
}
}
}
示例中的变量x、m和b位于每个for循环的范围内,但在循环的
}
之后消失
int x = (int)(Math.random() * 200) -99); // these variables will live long enough.
int m = (int)(Math.random() * 200) -99);
int b = (int)(Math.random() * 200) -99);
System.out.println("X = " + x);
System.out.println("M = " + m);
System.out.println("B = " + b);
System.out.print("Y = " + m * x + b);
这应该是可行的,但请注意,当您尝试将这些数字像“x/b”一样进行除法时要小心-您将需要对浮点进行转换(google除以整数)您需要帮助的部分是什么?获取用户输入?存储
m
、x
和b
的随机值,然后使用它们?还有别的吗?你的循环没有多大意义。您可能需要一个重复生成m
、x
和b
的循环,然后获取用户输入并检查答案。(您还需要一种方法让用户指示循环应该退出。)此外,如果您只需要整数,请尝试创建java.util.Random
的实例,并使用其nextInt(bound)
方法。一位朋友告诉我java.util.Random
,但我从未听说过它或如何使用它。不过,我认为这会带来更多好处。这是否意味着我将不再使用以前得到的x、m和b,而是将它们创建为intx=nextInt(100)+1代码>?因为您需要介于-100和+100之间的数字,所以可能需要intx=rand.nextInt(201)-100
(假设rand
是您的Random
对象,并且包含-100和+100的边界)。println(“Y=“+m*x+b)
将无法正常工作,因为这两个+
运算符都是字符串串联。您需要一个括号,以便第二个+
成为加法运算符:println(“Y=“+(m*x+b))