这个程序使用数组打印出每个奇数用户的输入。我有一个计数器来跟踪奇数项的总数。一切正常,直到结束,每个输出之间应该是逗号。列表末尾的句号。我应该插入哪些条件语句,使代码打印出的逗号数量少于总输出数量?
import java.util。*;
public class ManipulatingArrays {
public static void main(String[]args)
{
int counter=0;
int i;
String[] list=new String[50];
for( i=0;i<50;i++)
{
Scanner a=new Scanner(System.in);
System.out.println("Enter something: ");
list[i]=a.nextLine();
if(i>=1)
{
if(list[i].equals(list[i-1]))
{
System.out.println("Program has ended!");
i=50;
for( i=0;i<list.length;i+=2)
{
if(list[i]==null)
{
i=50;
}
else
{
counter=counter+1;
}
}
}
}
}
System.out.println("\nTotal number of odd objects: "+counter);
System.out.print("Every item you like: ");
for( i=0;i<list.length;i+=2)
{
if(list[i]==null)
{
i=50;
}
else
{
System.out.print(list[i]);
for(int comma=0;comma<1;comma++)
{
System.out.print(",");
}
}
}
}
}
答案 0 :(得分:1)
您可以迭代并检查它是否是数组的最后一个元素。
for(int comma=0;comma<list.length;comma++){
System.out.print(list[comma]);
if(comma != list.length-1) {//This will not add , in last element
System.out.print(",");
}
}
答案 1 :(得分:1)
我最喜欢的方法是将separator
变量初始化为空字符串,然后在第一次迭代后将其设置为某个有用的值:
String separator = "";
for (i = 0; i < list.length; i += 2) {
if (list[i] == null) {
break;
}
System.out.print(separator);
System.out.print(list[i]);
separator = ",";
}