Java 控制台对字符串的处理

本文提供了一个使用Java进行字符串批量处理的示例程序。该程序读取用户输入的多行字符串,每行由逗号分隔,并按指定数量进行分组切割。如果输入的行数少于2,则程序退出;若等于2则直接输出第二行内容;对于两行以上的内容,程序将根据第一行指定的数量对后续行进行分组并输出。

public static void main(String[] args) {
String rst="";
List<String> list=new ArrayList<String>();
List<String> lists=new ArrayList<String>();
Scanner scanner=new Scanner(System.in);
String nextLine=scanner.nextLine();
while (nextLine != null && !nextLine.equals("")) {
list.add(nextLine);
nextLine = scanner.nextLine();
}

if(list.size()<2){
System.exit(0);
}else if(list.size()==2)
{
System.out.println(list.get(1));
}else{
int count=Integer.valueOf(list.get(0));
String tmp="";
int ma[]=new int[list.size()-1];
int maxcount=0;
for(int i=1;i<list.size();i++){
String str=list.get(i);
String a[]=str.split(",");
Double len=Math.ceil((double)a.length/count);
ma[i-1]=len.intValue();
}
maxcount=ma[0];
for(int x =1;x<ma.length;x++){
if(ma[0]<ma[x]){
maxcount=ma[x];
}
}
list.remove(0);
while(maxcount!=0&&list.size()>0){
maxcount--;
lists=new ArrayList<String>();
for(int i=0;i<list.size();i++){
String str=list.get(i);
String a[]=str.split(",");
if(a.length>count){
tmp="";
for(int j=0;j<count;j++){
rst+=a[j]+",";
}
for(int j=count;j<a.length;j++){
tmp+=a[j]+",";
}
lists.add(tmp);
}else{
for(int j=0;j<a.length;j++){
rst+=a[j]+",";
}
}
}
list=lists;
}
System.out.println(rst.substring(0,rst.length()-1));
}

}

 

转载于:https://www.cnblogs.com/foreverstudy/p/10654581.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值