Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java计算器应用程序中的串联整数_Java - Fatal编程技术网

java计算器应用程序中的串联整数

java计算器应用程序中的串联整数,java,Java,因此,我正在使用java的计算器应用程序,我需要编写代码的核心部分 我正在编写一个实现接口的类,在我的addDigit(int digit)方法中,我需要它显示用户在程序上按下的两个整数的串联 我做了一些研究,发现了像value=”“+digit*digit或类似的东西,但似乎没有任何效果 public class BasicAccumulator implements Accumulator { private int digit; private int value;

因此,我正在使用java的计算器应用程序,我需要编写代码的核心部分

我正在编写一个实现接口的类,在我的
addDigit(int digit)
方法中,我需要它显示用户在程序上按下的两个整数的串联

我做了一些研究,发现了像
value=”“+digit*digit或类似的东西,但似乎没有任何效果

public class BasicAccumulator implements Accumulator {

    private int digit;
    private int value;

    public void BasicAccumulator(int digit, int value)
    {
        this.digit = digit;
        this.value = value;
    }

    public void addDigit(int digit)
    {
        value = digit + "" digit;
    }

    public void plus()
    {
        value = digit + digit;
    }

    public void minus()
    {
        value = digit - digit;
    }

    public void clear()
    {
        value = 0;
    }

    public int displayValue()
    {
        return value;
    }
}
那么:

public void addDigit(int digit)
{
    value = value * 10 + digit;
}
还是我误解了你的意图?

那么:

public void addDigit(int digit)
{
    value = value * 10 + digit;
}
public void addDigit(int digit)
{
    value = (this.digit + "")+ digit;
}

还是我误解了你想做什么?

哇,真管用!你能解释一下为什么我必须*10吗?要在数字的右边添加一个数字,你必须将其余数字向左移动一步,这是通过乘以10来完成的。然后,将新数字添加到新值中,以设置新的最右边的数字。@EricSage:我看到你上一个问题的答案也帮助了你。别忘了这一点(来自常见问题解答):当你决定哪一个答案对你最有帮助时,点击答案左侧的复选框大纲,将其标记为已接受的答案。有人介意向我解释plus()方法吗?我很困惑,为什么value=value+digit不起作用?@EricSage:还不清楚你对
plus()
方法的期望是什么。如果你在实现它时遇到了更具体的问题,可以发布一个关于它的新问题,但是你可以先自己试一试,这样你就可以解释你在哪里被卡住了(如果你这么做的话)。哇,真管用!你能解释一下为什么我必须*10吗?要在数字的右边添加一个数字,你必须将其余数字向左移动一步,这是通过乘以10来完成的。然后,将新数字添加到新值中,以设置新的最右边的数字。@EricSage:我看到你上一个问题的答案也帮助了你。别忘了这一点(来自常见问题解答):当你决定哪一个答案对你最有帮助时,点击答案左侧的复选框大纲,将其标记为已接受的答案。有人介意向我解释plus()方法吗?我很困惑,为什么value=value+digit不起作用?@EricSage:还不清楚你对
plus()
方法的期望是什么。如果您在执行时遇到了更具体的问题,请发布一个新问题,但请先自己试一试,这样您就可以解释卡在哪里了(如果有)。好的,谢谢。我是新来的。对不起。@ScottHunter阅读家庭作业标签的说明。好的,谢谢。我是新来的。对不起。@ScottHunter阅读家庭作业标签的说明。
public void addDigit(int digit)
{
    value = (this.digit + "")+ digit;
}