在java中的每个奇数数组输出之间插入逗号

时间:2015-02-26 01:07:45

标签: java comma

这个程序使用数组打印出每个奇数用户的输入。我有一个计数器来跟踪奇数项的总数。一切正常,直到结束,每个输出之间应该是逗号。列表末尾的句号。我应该插入哪些条件语句,使代码打印出的逗号数量少于总输出数量?

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(",");
        }
        } 
        }
        }
        }

2 个答案:

答案 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 = ",";
    }