哈 问下你怎么想的这道题 下面程序能具体解释下么public static long getConvertInt(long lInput){if(lInput == 0){ return 0; } String str = String.valueOf(lInput).replaceAll("0+$",""); char[] chars = str.toCharArray(); StringBuffer bu
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/27 20:52:50
![哈 问下你怎么想的这道题 下面程序能具体解释下么public static long getConvertInt(long lInput){if(lInput == 0){ return 0; } String str = String.valueOf(lInput).replaceAll(](/uploads/image/z/3830473-1-3.jpg?t=%E5%93%88+%E9%97%AE%E4%B8%8B%E4%BD%A0%E6%80%8E%E4%B9%88%E6%83%B3%E7%9A%84%E8%BF%99%E9%81%93%E9%A2%98+%E4%B8%8B%E9%9D%A2%E7%A8%8B%E5%BA%8F%E8%83%BD%E5%85%B7%E4%BD%93%E8%A7%A3%E9%87%8A%E4%B8%8B%E4%B9%88public+static+long+getConvertInt%28long+lInput%29%7Bif%28lInput+%3D%3D+0%29%7B+return+0%3B+%7D+String+str+%3D+String.valueOf%28lInput%29.replaceAll%28%220%2B%24%22%2C%22%22%29%3B+char%5B%5D+chars+%3D+str.toCharArray%28%29%3B+StringBuffer+bu)
哈 问下你怎么想的这道题 下面程序能具体解释下么public static long getConvertInt(long lInput){if(lInput == 0){ return 0; } String str = String.valueOf(lInput).replaceAll("0+$",""); char[] chars = str.toCharArray(); StringBuffer bu
哈 问下你怎么想的这道题 下面程序能具体解释下么
public static long getConvertInt(long lInput)
{
if(lInput == 0)
{
return 0;
}
String str = String.valueOf(lInput).replaceAll("0+$","");
char[] chars = str.toCharArray();
StringBuffer buffer = new StringBuffer();
for(int i = chars.length - 1; i >= 0; i--)
{
if (str.lastIndexOf(chars[i]) == i) {
buffer.append(chars[i]);
}
}
return Long.valueOf(buffer.toString());
}
哈 问下你怎么想的这道题 下面程序能具体解释下么public static long getConvertInt(long lInput){if(lInput == 0){ return 0; } String str = String.valueOf(lInput).replaceAll("0+$",""); char[] chars = str.toCharArray(); StringBuffer bu
是0就直接输出,实际上只要是1位数就可以直接输出
否则把数字变成字符串str,并且用正则“0+$”把末尾的0去掉
从后往前遍历str每个字符,如果遍历到的字符在str中最后一次出现的位置和遍历到的位置相同,那么说明只出现了这一次,或者出现了多次,但是这是从右往左第一次出现
满足3的字符放进buffer里
转成long返回