Java 以中缀形式拆分字符串
有件事我想知道。我有家庭作业,他们希望我们以多项式形式输入两个字符串,并且有很多实现。这里我的问题是:当我从用户那里获取输入时,我可以将字符串拆分为多项式部分,但它出错了: 字符串:Java 以中缀形式拆分字符串,java,string,text,split,Java,String,Text,Split,有件事我想知道。我有家庭作业,他们希望我们以多项式形式输入两个字符串,并且有很多实现。这里我的问题是:当我从用户那里获取输入时,我可以将字符串拆分为多项式部分,但它出错了: 字符串:“-x^3-6x^2+4x+22” 我想将其拆分为: -x^3 - 6x^2 + 4x + 22 但它会打印出来 package splitmethod; import java.util.Scanner; import java.io.*; public clas
“-x^3-6x^2+4x+22”
我想将其拆分为:
-x^3
- 6x^2
+ 4x
+ 22
但它会打印出来
package splitmethod;
import java.util.Scanner;
import java.io.*;
public class uygulama {
public static void main(String args[]){
System.out.println("lütfen parçalmak istidigniz polinomu girniz ");
Scanner input= new Scanner(System.in);
String polinom= input.nextLine();
String[] result;
System.out.println("");
result=polinom.replaceAll("\\s+","").split("(?<=[+-])");
for(int i=0;i<result.length;i++){
System.out.println(result[i]);
包拆分方法;
导入java.util.Scanner;
导入java.io.*;
公共类维吾尔语{
公共静态void main(字符串参数[]){
系统。
扫描仪输入=新扫描仪(System.in);
字符串polinom=input.nextLine();
字符串[]结果;
System.out.println(“”);
result=polinom.replaceAll(“\\s+”,”).split((?我实际上认为您不需要使用regex
。只需遍历字符串就足够了,检查+/-
就足够了。类似于:
StringBuilder sb = new StringBuilder();
for(int i=0;i<polinom.length;i++) {
if(i!=0 && (polinom.charAt(i)=='-' || polinom.charAt(i)=='+')) {
System.out.println(sb.toString());
sb = new StringBuilder();
sb.append(polinom.charAt(i));
} else {
sb.append(polinom.charAt(i));
}
}
System.out.println(sb.toString());
StringBuilder sb=新建StringBuilder();
对于(int i=0;iregexp”(?(?导入java.util.Scanner;
公共类维吾尔语{
公共静态void main(字符串参数[]){
系统。
扫描仪输入=新扫描仪(System.in);
字符串polinom=input.nextLine();
字符串[]结果;
System.out.println(“”);
result=polinom.split(“”;//只按空格分割单词,这样前面的符号就不会存储在与寻址变量/系数组合相同的数组中
对于(int i=0;我请多花点时间重写你的问题。Aleady是问题的第五个版本,但没有人修改标题…你的代码没有编译,你也没有说实际输出是什么。你可能应该修改这些东西。不,我的代码有效,我写了我想要打印的东西。非常感谢你,我已经搜索了几个小时来找到它s解决方案:D
-x^3
+6x^2
+4x
+22
-|x^3-|6x^2+|4x+|22
String polinom = "-x^3 - 6x^2 + 4x + 22";//here you pass data from user
Scanner scanner = new Scanner(polinom);
scanner.useDelimiter("(?=[+-])");
while (scanner.hasNext())
System.out.println(scanner.next());
scanner.close();
-x^3
- 6x^2
+ 4x
+ 22
import java.util.Scanner;
public class uygulama {
public static void main(String args[]) {
System.out.println("lütfen parçalmak istidigniz polinomu girniz ");
Scanner input= new Scanner(System.in);
String polinom= input.nextLine();
String[] result;
System.out.println("");
result = polinom.split(" "); //just splits the words by space so the signs in front are not stored in the same array as the addressed variable/coefficient combo
for(int i=0;i<result.length;i++){
System.out.println(result[i]);
}
}
}