将整数值存储为字符 Java
Storing Integer value as A Character Java
我试图查看以前的堆栈溢出问题,但找不到任何类似的问题。
我想将整数值存储到 char 变量,但整数值存储在另一个变量中。
char[] ch1 = (binary1.toString()).toCharArray();
char[] ch2 = binary2.toString().toCharArray();
if (ch1.length >= ch2.length) {
char[] ch = new char[ch1.length];
int j = 0;
int num1;
int num2;
int num3;
for (int i = 0; i < ch1.length; i++) {
if (j == ch2.length - 1)
j = 0;
num1 = Character.getNumericValue(ch1[i]);
num2 = Character.getNumericValue(ch2[j]);
num3 = num1 ^ num2;
ch[i] = (char) num3;
j++;
}
String str = new String(ch);
return str;
}
这里发生的事情是在很多情况下我得到的是空值。
我试图查看字符 class 但找不到任何函数。
如果有什么办法请告诉。
提前致谢。
编辑:我需要存储 0 或 1
编辑:ch1[] & ch2[] ar of char
编辑:我得到了一个临时解决方案来解决我的问题,但对于更广泛的概念,如果大小相同以及获取空值时,我们应该如何将整数类型转换为 char。
你可以做到
char ch = num3 == 0 ? '0' : '1';
当你打电话时Character.getNumericValue(someChar)
;您实际上是在获取值的整数文字。
假设在这种情况下 someChar='4';
,上面的方法会给你一个值 4。
但如果 char 的值不是 0 到 9,则无法获得数字值
如果您真的想要存储在 char 变量中的所有字节值的整数值,那么您必须将其直接类型转换为整数,如下所示。
char x = 'Z';
int z = x;
System.out.println(z);
上面的代码片段将打印 90,因为 Z 等于 ascii 中的 90。
也许您的转化来自
char ch = (char)num3;
不对吗?
也许你可以尝试使用类似
Character.toChars(65)
有关这方面的信息,请参阅此答案:Converting stream of int's to char's in java
如果你知道你的整数是一位数,那么你可以使用 Character 的 forDigit
方法进行从 int
到 char
的转换
Character.forDigit(9,10) --> '9'
来自官方docs,
Determines the character representation for a specific digit in the
specified radix.
参数:
- digit - 要转换为字符的数字。
- radix - 基数。
Returns:
指定基数中指定数字的字符表示形式。
我试图查看以前的堆栈溢出问题,但找不到任何类似的问题。
我想将整数值存储到 char 变量,但整数值存储在另一个变量中。
char[] ch1 = (binary1.toString()).toCharArray();
char[] ch2 = binary2.toString().toCharArray();
if (ch1.length >= ch2.length) {
char[] ch = new char[ch1.length];
int j = 0;
int num1;
int num2;
int num3;
for (int i = 0; i < ch1.length; i++) {
if (j == ch2.length - 1)
j = 0;
num1 = Character.getNumericValue(ch1[i]);
num2 = Character.getNumericValue(ch2[j]);
num3 = num1 ^ num2;
ch[i] = (char) num3;
j++;
}
String str = new String(ch);
return str;
}
这里发生的事情是在很多情况下我得到的是空值。 我试图查看字符 class 但找不到任何函数。
如果有什么办法请告诉。 提前致谢。
编辑:我需要存储 0 或 1
编辑:ch1[] & ch2[] ar of char
编辑:我得到了一个临时解决方案来解决我的问题,但对于更广泛的概念,如果大小相同以及获取空值时,我们应该如何将整数类型转换为 char。
你可以做到
char ch = num3 == 0 ? '0' : '1';
当你打电话时Character.getNumericValue(someChar)
;您实际上是在获取值的整数文字。
假设在这种情况下 someChar='4';
,上面的方法会给你一个值 4。
但如果 char 的值不是 0 到 9,则无法获得数字值
如果您真的想要存储在 char 变量中的所有字节值的整数值,那么您必须将其直接类型转换为整数,如下所示。
char x = 'Z';
int z = x;
System.out.println(z);
上面的代码片段将打印 90,因为 Z 等于 ascii 中的 90。
也许您的转化来自
char ch = (char)num3;
不对吗?
也许你可以尝试使用类似
Character.toChars(65)
有关这方面的信息,请参阅此答案:Converting stream of int's to char's in java
如果你知道你的整数是一位数,那么你可以使用 Character 的 forDigit
方法进行从 int
到 char
Character.forDigit(9,10) --> '9'
来自官方docs,
Determines the character representation for a specific digit in the specified radix.
参数:
- digit - 要转换为字符的数字。
- radix - 基数。
Returns:
指定基数中指定数字的字符表示形式。