java - 一行上的多个输入,具有多个变量和两位数(微分计算器)
问题描述
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';
}
解决方案
由于在表达式中ax^b
a
并且b
可能是多个数字,因此split()
可能不是最好的工具。您可以使用indexOf
andsubstring
函数来提取数字:
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());
推荐阅读
- sql - 在 Prestashop 1.6 上查找所有没有图片的产品
- javascript - 数组在填充之前返回空
- android - AndroidView 仅在 Flutter 中显示全屏
- windows - cmd.exe 使用 notepad.exe 打开文件路径,而不是将其解释为参数
- php - 获取特定订单的数据
- php - 500 Internal Server Error 只有变量应该通过引用传递
- flutter - Flutter webview PayPal 输入错误?
- javascript - 您可能需要一个额外的加载器来处理这些加载器的结果。TypeError:无法读取未定义的属性“forEach”
- javascript - 在 Bootstrap 5 中使用 Electron 不起作用
- postgresql - 如何在 PostgreSQL 中列出具有相应大小的表的所有索引?