我想编程从用户获取一个字符串并将其转换为某些数字(字符),当数字增加1个单位时,将它们放在另一个字符串中并显示它。
<FrameLayout
android:id="@+id/layout"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
例如,如果我进入打击: abcd123 结果是打击: bcde234
但是当我运行它时,输入后会出错:(
答案 0 :(得分:0)
错误的原因是字符串code
是单元化的,而在索引i
访问它是UB。要解决此问题,请在阅读输入并将其放入字符串text
code = text; // Giving it the exact value of text is redundant. The main point is to initialise it to appropriate size.
除此之外,而不是
code[i] = text[i] + '1';
应该是
code[i] = text[i] + 1;
您还可以按如下方式修改代码,以避免code
变量并使其更简洁:
text[i]++;