String word = "ABCD";
StringBuffer str = new StringBuffer (word);
int counter = 0;
for (int ch = 0; ch < word.length(); ch ++)
{
int number = word.charAt(ch)- 'A' + 1;
str.setCharAt(counter, (char) number);
if (ch != word.length ()-1)
str.insert(counter +1, '-');
counter += 2;
}
System.out.println (str);
}
我希望我的输出为1-2-3-4,所以A = 1且B = 2 ....等我们可以假设所有输入都是大写的。但我的代码产生随机符号。那么如何在不重写整个内容的情况下修复代码来生成1-2-3-4?
答案 0 :(得分:1)
你只是错过了从int转换为char的转换。这条线
str.setCharAt(counter, (char) number);
应该是
str.setCharAt(counter, (char) ('0' + number));