java从控制台输入一串字符串,每隔3个字符添加一个“,”号,例如:2,222,222

java从控制台输入一串字符串,每隔3个字符添加一个“,”号,例如:2,222,222
控制台输入的是String类,不是int也不是double

第1个回答  2010-12-08
我的方法绝对是最简单的,不理解可以问我,我就直接写main方法啦!
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.println("请输入一串字符:");
StringBuffer sb=new StringBuffer(sc.next());
int i=0;
while((i=i+3)<sb.length()){
sb.insert(i, ',');
i++;
}
System.out.println(sb);
}
第2个回答  2010-12-09
jdk 没有提供这样的方法。控制台文字颜色理论上不是 Java 的范畴。如果要这样的功能你必须用 C 写。非要用 Java 你只能用 JNI 把 C 函数弄到 class 里面去。这是相当复杂,你就不用考虑了。
第3个回答  2010-12-08
public static void main(String[] args) {
//新建流对象,用来读取console台输入的数据
BufferedReader br = new BufferedReader(new InputStreamReader( System.in ) ) ;
try {
//读取一行数据
String s = br.readLine();
//把String对象转化成char数组
char[] c = s.toCharArray();
for(int i=0;i<c.length;i++){
int k=i+1;
System.out.print(c[i]);
if(k%3==0){//如果已经输出了3个数字,就先打印一个,号。
System.out.print(",");
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
第4个回答  2010-12-08
String s = "222233111133";
int start = s.length()-3;
String result = "";
String s0;
String s1;
while(start > 0) {
s0 = s.substring(start,s.length());
s1 = s.substring(0, start);
result =s1+ "," + s0;
start -= 3;
s = result;
}
System.out.println(result);
第5个回答  2010-12-08
你的意思应该是从后向前每个三个字符就添加一个标识符号“,”,对吧?
大家正在搜