你能去掉 Java 中的字符串值吗?

Can you take away Strings values in Java?

我正在制作一个程序,您可以在其中输入一个人的名字和他的得分。很简单。我正在尝试制作程序的一部分,它将制作 sheet 显示某人落后于某人多少分。就像如果有两个人 Bill 和 Mike,Bill 有 330 分,而 Mike 有 300 分。我希望程序执行 330 - 300,这等于 30,程序会说:第二名 Mike 有 300 分。落后比尔 30 分。但是程序使用 JButton 的方式,您单击 JButton,JButton 文本变成您输入的点。所以我只是要减去 JButton 值,但 JButton 包含字符串。 这是我试过的

public class event1 implements ActionListener {
    public void actionPerformed(ActionEvent b){
        String userText = userInput.getText();

        buttons[1].setText(userText);

        addPoint[1] = true;
        System.out.println("addPoint[1] is " + addPoint[1]);
        //This is how I'm trying to do...
        if(addPoint[0] == true) {
            String takingAway = buttons[0].getText();
            String value = takingAway - userText;
            //I've tried int instead of String but that just broke everything
        }
    }
}

无论如何,他们也是如此,我可以获取 JButton 文本并将其转换为 int,就像 theres 函数 .toString() 但我需要一个 int。有什么建议吗?

我相信您正在寻找的方法是int myInt = Integer.parseInt(userText);

您可以像这样将字符串解析为整数:

int takingAway = Integer.parseInt(buttons[0].getText());
int value = takingAway - userText;

你可以这样做:

Integer#parseInt(String);

理想情况下,您首先要检查 String 是否仅包含数字

final String s = 012345;
if(s.matches("[0-9]+")) {
    System.out.println("String is a number");
} else {
    System.out.println("String is not a number.");
}