這是將二進制轉換爲格雷碼的功能。將字符串轉換爲char [] - Java
public void convert(String bin)
{
char[] b = bin.toCharArray();
char[] g = new char[100];
System.out.print(g[0]);
for(int i=1;i<b.length;i++)
{
System.out.print(g[i] = (b[i-1] + b[i]) - 96);
if(g[i] == '2')
{
System.out.print(0);
i++;
continue;
}
System.out.print(g[i] - 0);
}
}
我有上面的函數,它工作得很好,但我想從該函數返回轉換後的字符串。所以我拿出下面給出的代碼,這是行不通的,它只給我我開始存儲的單個數字,即g [0] = b [0]。
public String convert(String bin)
{
char[] b = bin.toCharArray();
char[] g = new char[100];
g[0] = b[0];
for(int i=1;i<b.length;i++)
{
g[i] = (char)((b[i-1] + b[i]) - 96);
if(g[i] == '2')
{
g[i] = 0;
i++;
continue;
}
g[i] = g[i] - 0;
}
String gray = String.valueOf(g);
return gray;
}
我該怎麼做才能讓我得到我想要的結果。
感謝
我認爲你正在尋找'new String(g)'。 – RealSkeptic
@RealSkeptic對不起,我沒有讓你 –
'g [i] = g [i] - 0;'沒有效果,'g [i] = 0;'可能是錯誤的 – wero