java - 添加到随机数

标签 java

我已经使用 Random 类生成一个随机数并且该数字显示出来,但是当我尝试将生成的随机数与 10 添加时,它只是连接起来,即如果随机数是 20,它将显示为 2010

import java.util.Random;

public class MainClass{
    static int x = 50;
    static  int y = 10;

    public class InnerClass {    
        double myDouble = x;

        void show() {
            System.out.println(myDouble + 5);
        }
    }

    public static void main(String args[]){
        Random rand = new Random();
        MainClass obj1 = new MainClass();
        MainClass.InnerClass obj2 = obj1.new InnerClass();

        int int_random = rand.nextInt(x);

        System.out.println(int_random + " :" + " This is the Random Number and its plus 10 is "+ int_random + y);

        // obj2.show();
    }
}

最佳答案

Java 中的 + 运算符可以执行两种截然不同的操作:将两个数字相加,以及连接两个字符串。如果将数字“添加”到字符串中,则该数字首先会转换为字符串,然后将两个字符串连接起来。

难题的另一部分是 + 是从左到右应用的(它是左关联)。因此,如果您编写 a + b + c,则表示 (a + b) + c 而不是 a + (b + c)。因此,如果 a 是字符串,而 bc 是整数,则 (a + b) 将是 a字符串,c 在添加到字符串之前先转换为字符串。

解决方案是使用括号强制计算顺序:显式写入 a + (b + c),或者根据您的情况:

    System.out.println(int_random + " :" + " This is the Random Number and its plus 10 is "+ (int_random + y));

关于java - 添加到随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61318233/

相关文章:

Java HTTPS 服务器 : Mutual SSL Authentication

java - 是否可以延迟类的加载,稍后可能会动态加载?

java - POJO 到 Google App Engine 中的 XML 字符串?

java - 使用混合 POJOS 处理集合,每个 POJO 使用不同的处理程序

java - 多次导入相同的 spring 应用程序上下文文件

Java数组语法替代

java - 父类(super class)和子类都有自己的接口(interface)

macos - 是否可以在生产中获取并运行 JDK 7?

围绕参数值的Java同步方法

java - 如何删除 Dropbox 文件?