gpt4 book ai didi

java - 如何分割字符串并保存分割的 2 个字符?

转载 作者:行者123 更新时间:2023-12-02 09:19:01 25 4
gpt4 key购买 nike

我正在尝试使用java split方法分割给定的字符串,而该字符串应该由两个不同的字符(+和-)分隔,并且我愿意将数组内的字符保存在与字符串相同的索引中已经得救了。

例如:

输入:字符串 s = "4x^2+3x-2"

输出:
arr[0] = 4x^2
arr[1] = +3x
arr[2] = -2

我知道如何在数字之间的不同索引中获取 + 或 - 字符,但这对我没有帮助,有什么建议吗?

最佳答案

您可以通过多种方式面对这个问题。我确信有一些聪明而奇特的方法来分割这个表达式。我将向您展示可以帮助您的最简单的问题解决过程。

说明你需要解决的问题,输入和输出

Problem: Split a math expression into subexpressions at + and - signals 
Input: 4x^2+3x-2
Output: 4x^2,+3x,-2

使用您可能认为有效的一些逻辑创建伪代码

Given an expression string
Create an empty list of expressions
Create a subExpression string
For each character in the expression
Check if the character is + ou - then
add the subExpression in the list and create a new empty subexpression
otherwise, append the character in the subExpression
In the end, add the left subexpression in the list

用您选择的编程语言实现伪代码

    String expression = "4x^2+3x-2";
List<String> expressions = new ArrayList();
StringBuilder subExpression = new StringBuilder();
for (int i = 0; i < expression.length(); i++) {
char character = expression.charAt(i);
if (character == '-' || character == '+') {
expressions.add(subExpression.toString());
subExpression = new StringBuilder(String.valueOf(character));
} else {
subExpression.append(String.valueOf(character));
}
}
expressions.add(subExpression.toString());
System.out.println(expressions);

输出

[4x^2, +3x, -2]

您将得到一种适合您的问题的算法。你可以开始改进它。

关于java - 如何分割字符串并保存分割的 2 个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58818183/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com