wil*_*ara 2 java string random int
我有代码生成一个随机数形式0-1 3次,我需要将它添加到一个变量,所以它变成一个二进制数.所以,理论上,这将运行三次,可能给我101;
String storage = null;
int i = 0;
while (i < 3) {
int binny = this.giveMeBinary();
storage.concat(String.valueOf(binny));
i++;
}
int ans = Integer.parseInt(storage);
Run Code Online (Sandbox Code Playgroud)
但是当我尝试运行它时,我得到了存储的NullPointerException错误.有没有办法只是在变量中"添加"一个字符串?
方法giveMeBinary只返回0或1.
npi*_*nti 10
您的问题是您正在将字符串初始化为null.做这样的事情应该可以解决你的问题:
String storage = "";
int i = 0;
while (i < 3) {
int binny = this.giveMeBinary();
storage += (String.valueOf(binny));
i++;
}
int ans = Integer.parseInt(storage);
Run Code Online (Sandbox Code Playgroud)
但是,不建议以这种方式连接字符串.你可以做的是像这样使用StringBuilder:
StringBuilder storage = new StringBuilder();
int i = 0;
while (i < 3) {
int binny = this.giveMeBinary();
storage.append(String.valueOf(binny));
i++;
}
int ans = Integer.parseInt(storage.toString());
Run Code Online (Sandbox Code Playgroud)