当前位置: 代码迷 >> Java Web开发 >> [讨论]入门编程,你试试
  详细解决方案

[讨论]入门编程,你试试

热度:164   发布时间:2007-04-10 13:22:47.0
[讨论]入门编程,你试试
编程题:
从键盘输入字符和汉字,如 “我abc哈哈”。根据要求截取,如果截取位为汉字,则去掉汉字。如截取6位,应为:“我abc”
搜索更多相关主题的帖子: 入门  

----------------解决方案--------------------------------------------------------

这个问题很多人问过了
我给出过代码,可以解决你的问题,不过觉得不是太好,希望有好方法的来讨论下!
下面是代码示例:
public class SubStringWithChinese
{
public static String getSubString(String src,int length)
{
String ititle=src;
char[] ct=ititle.toCharArray();
int sum=0;
for(int c=0;c<ct.length;c++)
{
if(Character.getType(ct[c])==5)
sum+=2;
else
sum+=1;
}
if(sum>length)
{
char[] temp=new char[length];
int t=0;
for(int c=0;c<length-1;t++)
{
if(Character.getType(ct[t])==5)
{
temp[t]=ct[t];
c+=2;
}
else
{
temp[t]=ct[t];
c+=1;
}

}
ititle=new String(temp);
return ititle;
}
else
return src;
}
public static void main(String args[])
{
String test="我abc哈哈";
System.out.println(getSubString(test,6));
}
}


----------------解决方案--------------------------------------------------------
到网上搜&lt;JAVA面试题&gt;,你就会看到这一题的。
----------------解决方案--------------------------------------------------------
  相关解决方案