java编程, 已知有一个集合, 里面存放了十二个字符串元素, 现在遍历集合, 每个五个元素打印一遍, 不足五个打印全部. 请问如何解决?
List strings = new ArrayList<>();
strings.add("a");
strings.add("b");
strings.add("c");
strings.add("d");
strings.add("e");
strings.add("f");
strings.add("g");
strings.add("h");
strings.add("i");
strings.add("j");
strings.add("k");
strings.add("r");
strings.add("m");
strings.add("n");
发现有好多大神啊。。为什么我是这么写的呢。。哈哈。。(我也是在半小时前学的java集合这一部分)
import java.util.*;
public class example{
public static void main(String [] args){
List strings=new ArrayList();
strings.add("a");
strings.add("b");
strings.add("c");
strings.add("d");
strings.add("e");
strings.add("f");
strings.add("g");
strings.add("h");
strings.add("i");
strings.add("j");
strings.add("k");
strings.add("r");
strings.add("m");
strings.add("n");
Iterator it=strings.iterator();
//全部打印
while(it.hasNext()){
System.out.println(it.next());
}
int len=strings.size()/5;
System.out.println(strings.size());
//每五个打印一次
for(int i=1;i<=len;i++){
String s="--";
for( int j=0+(i-1)*5;j<5+(i-1)*5;j++){
s=s+strings.get(j);
}
System.out.println(s);
}
String str="--";
for(int i=len*5;i<strings.size();i++){
str=str+strings.get(i);
}
System.out.println(str);
}
}
欢迎交流
public static void main(String[] args) {
//原始的字符串
String str="abcdefghijkl";
//最后要变成的字符串
StringBuilder res= new StringBuilder();
//如果原始串大于等5位,存储截取的前5位值,同时把在原始字符串中去除些值
while(str.length()>5){
res.append(str.substring(0, 5)+"-");//前4位值
str=str.substring(5);//原始字符串中去除些值
}
//剩余小于等5位,直接加入
if(str.length()>0)
res.append(str);
System.out.println(res.toString());
}
int i = 1;
for (String s: strings)
{
System.out.println(s + " ");
if (i % 5 == 0) System.out.println("");
i++;
}
带迭代前设置个变量,然后每迭代一次,该变量自增1,而后除5取余,通过if判断,进行相关操作.
import java.util.ArrayList;
import java.util.List;
public class ListTest{
public static void main(String[] args) {
List list = new ArrayList();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
list.add("e");
list.add("f");
list.add("g");
list.add("h");
list.add("i");
list.add("j");
list.add("k");
list.add("r");
list.add("m");
list.add("n");
int Number = list.size();
int t = 0;
while(Number>0){
if(Number<5){
for(int i=t;i<list.size();i++) {
System.out.println(list.get(i));
Number = 0;
}
}
else{
for(int i=t;i<t+5;i++){
System.out.println(list.get(i));
}
System.out.println();
t+=5;
Number-=5;
}
continue;
}
}
}
import java.util.ArrayList;
import java.util.List;
public class Hello {
public static void main(String[] args) {
List<String> strings = new ArrayList<String>();
for(int i = 0;i < 14;i++){
strings.add("" + (char)('a' + i));
}
for(int i = 1;i <= 14;i++){
System.out.print(strings.get(i - 1) + (i % 5 == 0 ? "\n" : ""));
}
}
}
/**
* 将list中元素按5的倍数隔开输出
*
* @param sList 待遍历的集合
*/
public void printList(List sList) {
if (null == sList || sList.isEmpty()) {
return;
}
for (int i = 0; i < sList.size(); i++) {
System.out.println(sList.get(i));
if (i % 5 == 0 && 0 != i) {
System.out.println("-------------------------");
}
}
}