这里方法我写了二种,第一种稍微简单没有怎么写注释,第二种稍微复杂写了注释
方法一:
public class java20210914用逗号隔开数字 {
public static void main(String[] args) {
//扫描仪
Scanner input = new Scanner(System.in);
//询问用户输入数字
System.out.println("请输入一串数字:");
//利用StringBuilder 接收用户输入的数据
StringBuilder stringBuilder = new StringBuilder(input.next());
for (int i = stringBuilder.length(); i > 0; ){
i -= 3;
if (i<=0){
break;
}
stringBuilder.insert(i,",");
}
System.out.println(stringBuilder);
}
}
方法二:
import java.util.Scanner;
public class test {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入一串数字:");
String tampnum = input.next();
StringBuilder stringBuilder = new StringBuilder();
//局数
int tamp = 0;
//定义变量 b 让我们取得数是一个,取得数是一个,还是一个从右制左的数
int b = 0;
for (int i = 0; i < tampnum.length(); i++) {
//每开始一次,计数器++
tamp++;
//让b自增从而打到让 tampnum 取得数是一个,还是一个从右制左的数
b++;
//取数 从后往前取
String a = tampnum.substring(tampnum.length() - b, tampnum.length() - i);
//往stringBuilder添加数据 a
stringBuilder.insert(0, a);
//判断数据,如果添加的数到达了三次就往前面添加 , 号
if (tamp == 3) {
stringBuilder.insert(0, ",");
//计数器清零
tamp = 0;
}
}
//判断 , 是不是在首位
if (stringBuilder.indexOf(",") == 0) {
//如果在就删除首位的 , 号
stringBuilder.deleteCharAt(0);
}
//打印输出处理后的数据
System.out.println(stringBuilder);
}
}