Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.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_Android - Fatal编程技术网

Java 大整数循环数计算

Java 大整数循环数计算,java,android,Java,Android,有人知道为什么它只运行一次代码,而不是每次单击按钮时都运行代码吗?因此,它总是显示12 @Override public void onClick(View v) { BigInteger example1 = new BigInteger("120"); BigInteger example2 = new BigInteger("100"); BigInteger example3 = n

有人知道为什么它只运行一次代码,而不是每次单击按钮时都运行代码吗?因此,它总是显示12

        @Override
        public void onClick(View v) {
            BigInteger example1 = new BigInteger("120");
            BigInteger example2 = new BigInteger("100");

            BigInteger example3 = new BigInteger("10");

            example3 = (example3.multiply(example1).divide(example2));

            String example4 = String.valueOf(example3);

            testb.setText(example4);
        }
    });

你实际上在计算:1200/100->结果,结果是12。 如果再次单击同一按钮,则BigInteger示例3将返回10。如果您不希望每个按钮的变量都重置,那么您需要在onClick方法中声明它们!像这样:

private BigInteger example1 = new BigInteger("120");
private BigInteger example2 = new BigInteger("100");
private BigInteger example3 = new BigInteger("10");

@Override
public void onClick(View v) {
example3 = (example3.multiply(example1).divide(example2));
testb.setText(String.valueOf(example3));
}

如上面的答案所示,每次单击按钮时,example3的值都会保存为新值。
如果希望12继续打印,则必须按下按钮,退出程序,然后再次运行。

它始终显示12,因为10×120÷100始终等于12。您还期望什么?为了产生不同的结果,您需要在计算/方程中包含一些其他可变变量,这些变量不在这些局部变量的范围内。@khelwood我期望它是12x120÷100,然后您需要保存更新后的
example3
值,而不是创建
example3
新建并在每次调用该方法时将其设置为10。你还应该清楚详细地解释你想让这个方法在你的问题中做什么。