Java 如何创建一个程序,将0和1随机分配给数组元素并查找其十进制值
我写这段代码是为了找到以符号大小表示的8位十进制值。因此,我创建了一个数组,并在0-1之间随机分配值,然后打印位模式和它的真正十进制值。在Java中还有比这更简单的方法吗Java 如何创建一个程序,将0和1随机分配给数组元素并查找其十进制值,java,arrays,Java,Arrays,我写这段代码是为了找到以符号大小表示的8位十进制值。因此,我创建了一个数组,并在0-1之间随机分配值,然后打印位模式和它的真正十进制值。在Java中还有比这更简单的方法吗 import java.util.Random; class Example { public static void main(String args[]) { Random r = new Random(); int A[] = new int[20]; for (
import java.util.Random;
class Example {
public static void main(String args[]) {
Random r = new Random();
int A[] = new int[20];
for (int i = 0; i < A.length; i++) {
int count = 1, k = 6, l = 0, m = 0;
for (int j = 0; j < 8; j++) {
A[i] = r.nextInt(2);
System.out.print(A[i]);
if (count == 1) {
if (A[i] == 1) {
m = -A[i];
} else {
m = 1;
}
} else {
double d = Math.pow(2, k);
l += (int) d * A[i];
k--;
}
count++;
}
System.out.println(" = " + (l * m));
}
}
}
import java.util.Random;
课例{
公共静态void main(字符串参数[]){
随机r=新随机();
int A[]=新int[20];
for(int i=0;i
您可以尝试创建一个随机的二进制字符串,然后使用JAVA的字符串到十进制转换器Integer.parseInt(string,base)将该字符串转换为十进制值,下面是一个示例:`
String randBinaryNumber;
char sign;
for(int i = 0; i < 8; i++){
// creates binary string
randBinaryNumber += Integer.toString(r.nextInt(2));
}
//gets sign of randBinaryNumber
sign = randBinaryNumber.charAt(0);
// removes first character of string
randBinaryNumber = randBinaryNumber.substring(1);
// converts string to decimal
int decimal = Integer.parseInt(randBinaryNumber,2);
if(sign == '1')
decimal *=-1;
而不是:
randBinaryNumber += Integer.toString(r.nextInt(2));
这会将字符串值存储在一个对象中,而不是每次添加二进制数字时都创建一个新对象
randBinaryNumber += Integer.toString(r.nextInt(2));