Java:将数字添加到字符串

时间:2017-03-16 16:22:20

标签: java string

嗨我试图在每次有人按下GUI中的按钮时向字符串E添加一个数字(在本例中为“1”)。所以起初字符串E只是空白(字符串E =“”)但是如果有人按下按钮一旦它变为1(字符串E =“1”)。如果多次按下该按钮,则每次按下都应添加1。我目前的代码是:

public void handle(ActionEvent event) {
     String E = (Z + "1");
     String Z = E;
     System.out.println(E);
}

(字符串设置为E =“”和Z =“”)但每次按下按钮时它只会输出一个“1”。我不确定我做错了什么......

5 个答案:

答案 0 :(得分:4)

听起来你在E方法之外定义的变量(字段?)Zhandle()正在初始化为""。不幸的是,您的handle()方法声明了影响外部名称的局部变量。只需从handle()中删除声明即可使用外部名称:

public void handle(ActionEvent event) {
     E = Z + "1";
     Z = E;
     System.out.println(E);
}

看起来你实际上只需要其中一个变量:

public void handle(ActionEvent event) {
     E += "1";
     System.out.println(E);
}

答案 1 :(得分:0)

您只创建Z和E的本地实例。将String声明移到方法之外并将它们声明为私有。

private String E="";
private String Z="";

public void handler(ActionEvent h)
{
      E=Z+"1";
      Z=E;
      System.out.println(Z);
 }

虽然似乎没有必要在这里声明两个变量,所以你可以做一些像

这样的事情
E+="1";
System.out.println(E);

答案 2 :(得分:-1)

您必须先声明变量Z才能使用它。

  String Z = "asd";
  String E = (Z + "1");
  System.out.println(E);

工作和打印出来:

  

asd1

答案 3 :(得分:-1)

您发布的代码未编译,您只是不能使用之前未声明的变量...

String E = (Z + "1");
String Z = E;

在使用之前改为声明Z

String Z = "";
String E = (Z + "1"); 

你需要/想要将“1”附加到字符串中的前一个值,不需要声明一个新对象,你可以直接追加它!

Z += "1";

E += "1"; 

答案 4 :(得分:-1)

您是否计算某人按下按钮并将其打印出来的次数?如果是这样,你不需要一个字符串,你必须在你的处理程序外面声明你的变量

public class MyClass {
    private buttonPressCount = 0;

    //... some code to display a button and link handler to button...

    public void handle(ActionEvent event) {
        buttonPressCount++;
        System.out.println("Button has been pressed " + buttonPressCount + " times.");
    }
}