求最简单算法:字符串处理问题:
条件:
String temp="01011,0201012,030101013";
String temp2="01X,01011,02X,0201X,0201012,03X,0301X,030101X,030101013";
规律:
字串1中的每人元素分别左取它的(长度-3)或(长度-3-2的倍数)后面与"X"组成一个新字串,
把这个新的字串加到原来的字串之中.
要求:
如何以最简单的算法,由temp求出temp2。
条件:
String temp="01011,0201012,030101013";
String temp2="01X,01011,02X,0201X,0201012,03X,0301X,030101X,030101013";
规律:
字串1中的每人元素分别左取它的(长度-3)或(长度-3-2的倍数)后面与"X"组成一个新字串,
把这个新的字串加到原来的字串之中.
要求:
如何以最简单的算法,由temp求出temp2。
解决方案 »
- 子类继承父类为什么不行?
- [求助]关于jdk1.5.0_06的classpath正确设置方法
- 刚刚入门,迷惑中,大家指教。
- 我是菜鸟,想学JAVA,不知道怎么开始,望高手指点谢谢
- 我在执行HQL查询时,总是报错,请哪位高手指点!!急急
- 怎么动态改变JTextField的内容。
- 救命!序列化
- (求教)我想取得OS的系统信息,看了HELP文档,可是还是没搞明白~~~
- 问一个MIDlet的问题
- 我这个java的多线程为什么会出现两个十票?而且不是一直出现,是程序运行个7到8次才出现一次两个十票。
- 方法覆盖时,如何在类外部调用父类的方法,或是在类内部调用父类的父类的方法,或是不可能实现呢?
- Java爱好者共同的家园www.ojava.net
把你的规律说说清楚啊
规律:
字串1中的每人元素分别左取它的(长度-3-2n)后面与"X"组成一个新字串,
把这个新的字串加到原来的字串之中.(如:对030101013来说: n>=0,n<3)
static String temp="01011,0201012,030101013333333";
static String temp2 = new String(); public static void main(String[] args) {
StringTokenizer st = new StringTokenizer(temp.trim(),",");
while(st.hasMoreTokens()){
String str = st.nextToken();
append(str);
temp2 += str+",";
}
temp2 = temp2.substring(0,temp2.length()-1);
System.out.println(temp2);
}
static void append(String str){
for(int i=(str.length()-3)/2; i>=0; i--){
if(str.length()-3-2*i>0){
temp2 += str.substring(0,str.length()-3-2*i)+"x,";
}
}
} }
--------------------------------
String temp="01011,0201012,030101013";
StringBuffer temp2 = new StringBuffer();
int index = 2;
while (index < temp.length())
{
if ((temp.charAt(index) == '0'))
{
if (temp2.length() < 1)
{
temp2.append(temp.substring(0, index)).append("X");
}
else
{
temp2.append(",").append(temp.substring(0, index)).append("X");
}
++index;
}
else if ((temp.charAt(index) == ',') || (temp.length() - 1 == index))
{
if (temp2.length() < 1)
{
temp2.append(temp.substring(0, index));
}
else
{
temp2.append(",").append(temp.substring(0, index));
}
temp = temp.substring(index+1);
index = 2;
}
else if (index < temp.length())
{
++index;
}
}