好吧,我想为我的化学游戏/项目制作一个方法:
我最初的想法是将字符串转换为char数组,然后创建一个for循环,我尝试Integer.parseInt(Character.toString(char数组元素)),如果它抛出NumberFormatException,它将继续for循环。如果它没有抛出错误,那么我保留该数字,将其添加到2080(因为\ u2080 - > \ u2089是下标unicodes)然后以某种方式将该数字刷回到char中。
我尝试为它编写代码,但不确定如何继续。
private String processName(String original)
{
char[] or = original.toCharArray();
int returned = 0;
for(char character : or)
{
try
{
returned = Integer.parseInt(Character.toString(character));
}
catch (Exception e)
{
continue;
}
if(returned != 0)
{
returned += 2080;
String temp = "\\u" + returned;
//gave up here
}
}
}
答案 0 :(得分:1)
你快到了。请记住,char
是两个字节,因此它们可以保存您想要的值:
for(int i = 0; i < or.length; i++)
{
try
{
returned = Integer.parseInt(Character.toString(or[i]));
}
catch (Exception e)
{
continue;
}
if(returned != 0)
{
or[i] = (char) (returned + 2080);
}
}
您可以通过简单地检查int
是否为数字来消除转换为char
的部分费用,如果是,则添加适当的金额,但由于此代码已经工作我会把它留给你。