Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用逗号分隔数组列表中的字符_Java_Arrays_List_Arraylist_Char - Fatal编程技术网

Java 用逗号分隔数组列表中的字符

Java 用逗号分隔数组列表中的字符,java,arrays,list,arraylist,char,Java,Arrays,List,Arraylist,Char,可能重复: 除最后一个字符外,所有字符均应以逗号分隔。 示例输出:“先前猜测的字符:a、b、c、x”或“先前猜测的字符:a” 以下是我所拥有的: ArrayList<Character> charsGuessed = new ArrayList<Character>(); //takes in char guess from user char guess=getCharacterGuess(in); //adds char guessed to array cha

可能重复:

除最后一个字符外,所有字符均应以逗号分隔。
示例输出:“先前猜测的字符:a、b、c、x”或“先前猜测的字符:a”

以下是我所拥有的:

ArrayList<Character> charsGuessed = new ArrayList<Character>();

//takes in char guess from user
char guess=getCharacterGuess(in);

//adds char guessed to array
charsGuessed.add(guess);

int size=charsGuessed.size();
System.out.print("Previous characters guessed: ");

for(int i=0; i<size; i++)
{
   if(i<=size-1)
   {
      System.out.print(charsGuessed.get(i) + " ");
   }
   else
   {
      System.out.print("," + " " + charsGuessed.get(i));
   }
}
ArrayList charsGuessed=new ArrayList();
//接受用户的字符猜测
char guess=getCharacterGuess(在中);
//将猜测的字符添加到数组中
添加(猜测);
int size=charsGuessed.size();
System.out.print(“先前猜测的字符:”);

对于(int i=0;i使用
StringBuilder
更好:

StringBuilder builder = new StringBuilder();
for (int i = 0; i < arraySize; i++){
    builder.append(charsGuessed.get(i));
    if (i < arraySize - 1){
        builder.append(", ");
    }
}
System.out.println(builder.toString());
StringBuilder=新建StringBuilder();
for(int i=0;i
这非常简单。基本上,除了最后一个字符外,您希望在列表中的每个字符后打印/附加逗号

例如:

private static void printGuessedCharacters(List<Character> chars) {
    System.out.print("Characters guessed: ");

    if(chars.isEmpty()) {
        System.out.println("none.");
        return;
    }

    for(int i = 0; i < chars.size(); i++) {
        System.out.print(chars.get(i));

        if(i < chars.size() - 1) { // If it's not the last char in list.
            System.out.print(", ");
        }
    }
    System.out.println();
}
private static void printGuessedCharacters(列表字符){
系统输出打印(“猜字符:”);
if(chars.isEmpty()){
System.out.println(“无”);
返回;
}
对于(int i=0;i

另一方面,如果你想要一个只保存唯一值的集合,你可以考虑使用
哈希集而不是
数组列表。这将防止你的程序多次打印出同一个字符。

很好地介绍了
StringBuilder
的使用。如果你碰巧使用了,你可以使用:


也许有助于你改进问题的细节。所以一句话…真的吗?
String charsGuessedConcat = Joiner.on(", ").join(charsGuessed);
System.out.print("Previous characters guessed: " + charsGuessedConcat);