Android 十进制到ascii的转换

Android 十进制到ascii的转换,android,binary,Android,Binary,我正在尝试实现从十进制数到ascii的转换。现在,我已经将其硬编码为50,但稍后我将使用userinput。当我运行应用程序并调用该方法时,输出的是随机的(每次按下它都会改变),例如“[C@4263f600" 我在链接中遵循了流程:。为什么我会得到如此奇怪的输出 //method if (valid) { String str = ascii(); mTextOutput.setText(str); ... public String ascii(){ char[

我正在尝试实现从十进制数到ascii的转换。现在,我已经将其硬编码为50,但稍后我将使用userinput。当我运行应用程序并调用该方法时,输出的是随机的(每次按下它都会改变),例如“[C@4263f600"

我在链接中遵循了流程:。为什么我会得到如此奇怪的输出

//method
if (valid) {
     String str = ascii();
     mTextOutput.setText(str);

...

public String ascii(){
    char[] binary_reverse = new char[9];
    char[] binary = new char[9];

    int ascii = 50;
    int y = 0;

    while (ascii !=1) {
        if (ascii % 2 ==0)
        {
            binary_reverse[y]='0';
        }
        else if (ascii % 2 == 1)
        {
            binary_reverse[y]='1';
        }
        ascii /= 2;
        y++;
    }

    if (ascii ==1)
    {
        binary_reverse[y] = '1';
    }

    if (y<8) {
        for(; y < 8; y++) {
            binary_reverse[y] = '0';
        }
    }

    for (int z = 0; z < 8; z++) {
        binary[z] = binary_reverse[7-1];
    }

    String str = binary.toString();
    return str;
}
//方法
如果(有效){
字符串str=ascii();
mtexoutput.setText(str);
...
公共字符串ascii(){
char[]binary_reverse=新字符[9];
char[]binary=新字符[9];
int ascii=50;
int y=0;
while(ascii!=1){
如果(ascii%2==0)
{
二元逆[y]='0';
}
否则如果(ascii%2==1)
{
二元逆[y]='1';
}
ascii/=2;
y++;
}
如果(ascii==1)
{
二元逆[y]=“1”;
}
如果(y//您可以尝试以下方法:

binary[z] = binary_reverse[7-1]; - So you want to set every element of binary to the value in binary_reverse[6]
//而且

 String str = binary.toString(); to String str = new String(binary);

reference:@Tim

binary[z]=binary\u reverse[7-1];
-所以您想将
binary
的每个元素设置为
binary\u reverse[6]
中的值?很好的发现!我现在就可以使用了。我还将String str=binary.toString()替换为String str=new String(binary);Ty Tim!我认为这是一个已回答的问题,当用户查看此问题时,他/她也应该看到答案,因此我用@Tim reply回答了这个问题,