package DerivativeFormulas;
import Variables.Variables;
import java.io.IOException;
public class PowerRule {
public static void main(String[] args) throws IOException {
//User inputs derivative equation
System.out.print("Enter the derivative - ");
Variables.userInputs = Variables.input.readLine().split("");
//Coefficient is put into the string array "userInputs"
Variables.coefficient = Integer.parseInt(Variables.userInputs[0]);
//User inputs the variable assigned to function
String x;
x = Variables.userInputs[1];
//User inputs power symbol "^"
String power;
power = Variables.userInputs[2];
Variables.polydeg = Integer.parseInt(Variables.userInputs[3]);
System.out.println((Variables.coefficient * Variables.polydeg) + x + power + (Variables.polydeg - 1));
}
}
我试图制作一个程序,该程序将使用幂规则来提取函数的派生类。用户输入前导系数,然后输入变量,然后输入幂符号“ ^”,然后输入变量的指数,中间没有空格。输入全部在一行上。 4x^2 outputs 8x^1
仅当用户输入的前导系数和指数小于10时,程序才成功。每当我尝试为系数或指数输入两位数时,都会出现错误。通过将.split("")
更改为.split(" ")
可以在输入之间插入空格时使程序正常工作,但是我不想在输入之间插入任何空格。例如10x^10
将不起作用。我该如何解决?
这里也是变量。
package Variables;
import java.io.*;
public class Variables {
//Main user input
public static BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
//User inputs get put into a string array
public static String userInputs[] = new String[4];
//Numbers
public static int coefficient;
public static int polydeg;
//Symbols
public static char e = 'e';
}
答案 0 :(得分:0)
由于表达式ax^b
a
和b
可能是多个数字,因此split()
可能不是最佳选择。您可以使用indexOf
和substring
函数来提取数字:
String temp = Example.input.readLine();
Example.userInputs[0] = temp.substring(0, temp.indexOf("x"));
Example.userInputs[1] = "x";
Example.userInputs[2] = "^";
Example.userInputs[3] = temp.substring(temp.indexOf("^") +1, temp.length());