Java 程序来确定字符串是什么类型的数学术语

Java 程序来确定字符串是什么类型的数学术语,java,int,try-catch,Java,Int,Try Catch,我使用scanner类允许用户输入一个字符串,然后程序将确定该字符串是a.)只是一个数字b.)只是一个变量c.)一个系数乘以一个变量d.)一个变量乘以一个幂还是d.)一个系数乘以一个变量乘以一个幂。例如,如果用户输入“3”,程序将确定其情况a;如果用户输入“x^43”,计算机将确定其为案例d 老实说,我不知道该怎么办。我试图制作一个try-catch块,看看这个刺是否可以转换成一个数字,但这只适用于案例a。我不知道如何编写一个简洁的代码来检查字符串以找到模式,从而确定它是哪种情况。有人能把我引向

我使用scanner类允许用户输入一个字符串,然后程序将确定该字符串是a.)只是一个数字b.)只是一个变量c.)一个系数乘以一个变量d.)一个变量乘以一个幂还是d.)一个系数乘以一个变量乘以一个幂。例如,如果用户输入“3”,程序将确定其情况a;如果用户输入“x^43”,计算机将确定其为案例d

老实说,我不知道该怎么办。我试图制作一个try-catch块,看看这个刺是否可以转换成一个数字,但这只适用于案例a。我不知道如何编写一个简洁的代码来检查字符串以找到模式,从而确定它是哪种情况。有人能把我引向正确的方向吗

谢谢,
Shubhang

我认为你必须为数学表达式使用真正的解析器。例如,您可以使用我的项目。在中,您可以看到基本用法。求值后,可以调用这些方法来检测
结果
表达式的类型

result.isNumber()
result.isSymbol()
result.isTimes()
result.isPower()

如果表达式是
Times()
Power()
表达式,则可以将其强制转换为并检测更多属性。

添加到@ajb的响应中-您可以逐个字符解析用户输入的字符串并使用一组复杂的逻辑,也可以利用正则表达式(或正则表达式)用于模式匹配。好的,我来研究一下。非常感谢你!!