Java数组列表位置
我迭代一个列表,得到如下值Java数组列表位置,java,list,Java,List,我迭代一个列表,得到如下值 Kolkata, Mumbai, Chennai, Hyderabad, Delhi. 我需要按以下格式打印。每次偶数次迭代后,该值应转到下一行 Kolkata,Mumbai, Chennai,Hyderabad, Delhi import java.util.*; 导入java.lang.*; 导入java.io.*; 表意文字 { 公共静态void main(字符串[]args)引发java.lang.Exception { ArrayList=新建Array
Kolkata, Mumbai, Chennai, Hyderabad, Delhi.
我需要按以下格式打印。每次偶数次迭代后,该值应转到下一行
Kolkata,Mumbai,
Chennai,Hyderabad,
Delhi
import java.util.*;
导入java.lang.*;
导入java.io.*;
表意文字
{
公共静态void main(字符串[]args)引发java.lang.Exception
{
ArrayList=新建ArrayList();
列表。添加(“钦奈”);
列表。添加(“加尔各答”);
添加(“海得拉巴”);
列表。添加(“德里”);
添加(“孟买”);
对于(int i=0;i,这不是必需的,但我更喜欢在打印之前使用StringBuilder收集整个字符串:
java.util.List<String> list = prepareList(); // omited the list preparation code.
int currentStringIndex = 0;
int totalStringCount = list.size();
StringBuilder sb = new StringBuilder();
for (String eachString : list) {
sb.append(eachString);
// If this is not the last string.
if (currentStringIndex != totalStringCount - 1) {
// Append comma.
sb.append(", ");
// Add a new line if the next string is even indexed (i.e. current string is odd indexed)
if (currentStringIndex % 2 == 1) {
sb.append("\n");
}
}
currentStringIndex++;
}
System.out.println(sb.toString());
java.util.List List=prepareList();//省略了列表准备代码。
int currentStringIndex=0;
int totalStringCount=list.size();
StringBuilder sb=新的StringBuilder();
for(字符串每个字符串:列表){
某人附加(每个字符串);
//如果这不是最后一个字符串。
如果(currentStringIndex!=totalStringCount-1){
//附加逗号。
某人加上(“,”);
//如果下一个字符串为偶数索引(即当前字符串为奇数索引),则添加新行
如果(currentStringIndex%2==1){
某人附加(“\n”);
}
}
currentStringIndex++;
}
System.out.println(sb.toString());
首先,您必须在编码方面付出一些努力,并向我们展示您尝试的结果,以便我们能够帮助您
考虑以下代码:
List<String> cityList = new ArrayList<>(Arrays.asList("Kolkata", "Mumbai", "Chennai", "Hyderabad", "Delhi"));
for (int i = 0; i < cityList.size(); i++) {
if ((i & 1) == 1 && i != cityList.size() - 1) { // to check number if even or odd
System.out.println(cityList.get(i) + ", ");
} else if (i == cityList.size() - 1) {
System.out.print(cityList.get(i));
} else {
System.out.print(cityList.get(i) + ", ");
}
}
更新
若您需要将迭代次数添加到结束行,如下所示
List<String> cityList = new ArrayList<>(
Arrays.asList("Kolkata", "Mumbai", "Chennai", "Hyderabad", "Delhi", "zzzzzzz", "eeeeee", "wwwwwwwwww", "aaaaaaaa", "sssssssss"));
int n = 3; // Number of iteration you need
for (int i = 0, j = n -1; i < cityList.size(); i++) {
if (i == j && i != cityList.size() - 1) {
System.out.println(cityList.get(i) + ", ");
j += n;
} else if (i == cityList.size() - 1) {
System.out.print(cityList.get(i));
} else {
System.out.print(cityList.get(i) + ", ");
}
}
加尔各答。孟买,然后是新线钦奈-海得拉巴,然后是新线德尔希欢迎来到Stackoverflow,请阅读。请特别注意。你越是努力地提出一个好问题:一个容易阅读、理解的问题,它越有可能吸引相关的人,你就会得到帮助更快。祝你好运!欢迎使用Stack Overflow。你也应该发布你的代码。更多的SO用户应该来这里,他们都应该欢迎@SourishBarman。与其欢迎新的SO用户,我们应该坚持解决问题和解决方案。不需要初始化额外的变量k
,可以使用i
A来完成孤独。只要替换if(i%2==2)
并删除行k=0
(i%2==1)即可达到目的,而不是(i%2==2)。而且,无需在循环外初始化变量i
。这只会增加根本不需要的生命周期!
Kolkata, Mumbai,
Chennai, Hyderabad,
Delhi
List<String> cityList = new ArrayList<>(
Arrays.asList("Kolkata", "Mumbai", "Chennai", "Hyderabad", "Delhi", "zzzzzzz", "eeeeee", "wwwwwwwwww", "aaaaaaaa", "sssssssss"));
int n = 3; // Number of iteration you need
for (int i = 0, j = n -1; i < cityList.size(); i++) {
if (i == j && i != cityList.size() - 1) {
System.out.println(cityList.get(i) + ", ");
j += n;
} else if (i == cityList.size() - 1) {
System.out.print(cityList.get(i));
} else {
System.out.print(cityList.get(i) + ", ");
}
}
Kolkata, Mumbai, Chennai,
Hyderabad, Delhi, zzzzzzz,
eeeeee, wwwwwwwwww, aaaaaaaa,
sssssssss