日期:2014-05-20  浏览次数:20644 次

帮忙解决2个简单问题,没分了,最后的20分拿出来
第一题:List   list=new   ArrayList();
                list.add(a);
                list.add(b);
                list.add(c)

                最后要输出的效果为   'a ', 'b ', 'c '也就是把a和b和c加个 ' ',中间还要有逗号,c的后面没有.求好的方法


第二题:随便一个字符串,比如:String   str= "zhAngSAN ";字符串里面有大写也有小写,让你输出的效果为先从a-z,在到A-Z,效果如下h(1)n(1)g(1)z(1)A(2)N(1)S(1)括号里是他出现的次数


------解决方案--------------------
第一个问题很简单
package scjp;

import java.util.ArrayList;
import java.util.List;

public class TestArrayList {

public static void main(String[] args){

List list=new ArrayList();
list.add( "a ");
list.add( "b ");
list.add( "c ");
for(int i=0;i <list.size();i++){

String str=(String)list.get(i);
str= "\ ' "+str+ "\ ' ";
System.out.println(str);

}

}
}
------解决方案--------------------
题1:
import java.util.*;

public class a{
public static void main(String args[]){
List list = new ArrayList();
list.add( "a ");
list.add( "b ");
list.add( "c ");
StringBuffer sb = new StringBuffer();
int i=0;
for(;i <list.size()-1;i++){
sb.append( "\ ' "+(String)list.get(i)+ "\ ', ");
}
sb.append( "\ ' "+(String)list.get(i)+ "\ ' ");
System.out.println(sb);
}
}
------解决方案--------------------
第一个 将就2楼的代码
for(int i=0;i <list.size();i++){
String str=(String)list.get(i);
str= "\ ' "+str+ "\ ' ";
if (i !=list.size -1)
str = str + ", ";
System.out.println(str);
}
第二个
public static void getCharactor(String s) {
int count = 0;
int index = 0;
int tmp = 0;
byte k = 97;
while (k != -1) {
for (byte i = k; i < k + 26; i++) {
String string = new String(new byte[] { i });
for (int j = 0; j < s.length(); j++) {
index = s.indexOf(string, tmp);
if (index != -1) {
count++;
tmp = index + 1;
}
}
if (count != 0)
System.out.print(string + "( " + count + ") ");

count = 0;
tmp = 0;
}
if (k == 97)
k = 65;
else if (true)
k = -1;
else
break;
}
}