java - 新对象覆盖以前创建的对象的数据

标签 java android object constructor android-studio

我的问题是我正在创建 Pierwiastek 类的对象,参数为“4\u221a(5)”。之后我可以获取该对象的参数,例如 getFirst() 和 getInside()。然后我使用不同的参数“2\u221a(2)”创建新对象。这就开始出现问题了。也许我会在代码中展示这一点:

Pierwiastek p = new Pierwiastek('(4)\u221a(5)');
System.out.println(p.getFirst()+p.getInside());->4 and 5
Pierwiastek d = new Pierwiastek('(2)\u221a(2)');
System.out.println(d.getFirst()+d.getInside());->2 and 2
System.out.println(p.getFirst()+p.getInside());->2 and 2

为什么最后是2和2,而不是4和5?

这是我的构造函数:

public class Pierwiastek {
public static String first;
public static String inside;
public Pierwiastek(String pierwiastek) {
    String[] tmp = pierwiastek.split("\u221a");
    String a , b;
    if(tmp.length > 2){         
        a = pierwiastek.substring(0,pierwiastek.indexOf("\u221a")+1);
        b = pierwiastek.substring(pierwiastek.indexOf("\u221a")+1, pierwiastek.length());
        b = b.replace("\u221a","|");
        pierwiastek = a + b;
    }
    String[] t = pierwiastek.split("\u221a");
        if (String.valueOf(pierwiastek.charAt(1)).equals(")") || String.valueOf(pierwiastek.charAt(0)).equals("\u221a")) { 
            first = "1";
        } else {
            t[0] = t[0].replace("(", "");
            t[0] = t[0].replace(")", "");
            first = t[0];
        }
    t[1] = t[1].replace("(", "");
    t[1] = t[1].replace(")", "");
    t[1] = t[1].replace("|","\u221a");
    inside = t[1];
}
public void setFirst(String f) {
    first = f;
}

public void setInside() {
    inside = this.inside;
}

public String getFirst() {
    return this.first;
}

public String getInside() {
    return this.inside;
}

public static String zlozPierwiastek(){
    return "(" + first + ")\u221a(" + inside + ")";
}
}

最佳答案

属性firstinside不应该是静态的。尝试:

private String first;
private String inside;

对于 zlozPierwiastek 函数也是如此:

public String zlozPierwiastek(){
    return "(" + first + ")\u221a(" + inside + ")";
}

关于java - 新对象覆盖以前创建的对象的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29043125/

相关文章:

android - 从 Realm 多对多关系中删除项目

javascript - 在 Javascript/jQuery 中动态添加变量名作为对象的一部分

javascript - 计算一个对象数组中值在另一个对象数组中的出现次数

javascript - javascript中的对象和关联数组有什么区别?

java - JTable 标题中的多个可编辑行

android - 失败 : Build failed with an exception

java - 将 Vector 元素从一个类更改为另一类

java - 来自 OAuth 的回调不调用 onResume()

java - 我想要项目路径中 Web 内容目录中的所有文件和文件夹,仅在 Eclipse 中将它们复制到上一级是行不通的

java - Spring Ajax Controller - 接受提交而不刷新页面