gpt4 book ai didi

Java子串难度

转载 作者:行者123 更新时间:2023-12-01 13:10:32 25 4
gpt4 key购买 nike

我知道如何使用 substring() 但为什么这不起作用,用户输入一个等式“5t + 1”,“+”前后各有一个空格。我希望 tVariable 保存它之前的整数,在这种情况 5 中,常量应该在这种情况 1 中保存常量整数,但我得到超出范围错误。

import java.util.*;
import javax.swing.JOptionPane;

public class project3030 {
public static void main(String[] args) {
String L1x, tVariable, constant;
L1x = JOptionPane.showInputDialog("This is the format (x=5t + 1)");

int endIndex = L1x.indexOf("t");

tVariable = L1x.substring(0, endIndex);

int beginIndex = L1x.lastIndexOf(" ");
int endIndex2 = L1x.indexOf("");

constant = L1x.substring(beginIndex, endIndex2);

System.out.println(tVariable + constant);
}
}

最佳答案

您需要将其更改为更像这样的内容

constant = L1x.substring(L1x.lastIndexOf(" ")).trim();

然后,当您添加数字时,您必须先解析它们,然后再添加它们。

int constantInt = Integer.parseInt(constant);

或者您可以使用此解决方案:

String[] input = L1x.split(" "); 

// remove the 't'
String tNum = input[0].substring(0, input[0].length() - 1);
int t = Integer.parseInt(tNum);
int constant = Integer.parseInt(input[2]);
String operator = input[1];

if (operator == "-")
constant *= -1;

关于Java子串难度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22901446/

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