Java 字符数组的元素在打印时右对齐

Java 字符数组的元素在打印时右对齐,java,arrays,Java,Arrays,我需要打印出Hangman中已经使用过的字母,即char数组中的元素,但是它们是从右边一个接一个地出现的,而不是从左边出现的。第一个字母出现在第26个位置。第二个占据第25或26个位置(取决于alpha顺序),依此类推。。。如蒙指教,不胜感激 寿命:5 单词:B_uu_u 迄今为止使用的字母:由 生命:4 单词:B_uu_u 迄今为止使用的字母:BEY 生命:4 单词:boo\u 迄今为止使用的字母:BEOY char[] lettersUsedCharArray = new char[26];

我需要打印出Hangman中已经使用过的字母,即
char数组中的元素,但是它们是从右边一个接一个地出现的,而不是从左边出现的。第一个字母出现在第26个位置。第二个占据第25或26个位置(取决于alpha顺序),依此类推。。。如蒙指教,不胜感激

寿命:5 单词:B_uu_u 迄今为止使用的字母:由

生命:4 单词:B_uu_u 迄今为止使用的字母:BEY

生命:4 单词:boo\u 迄今为止使用的字母:BEOY

char[] lettersUsedCharArray = new char[26];


/**************************************************
* Method - add guessLetter to lettersUsedCharArray
* 
**************************************************/
public void addGuessLetter(char guessLetter)
{
    this.guessLetter = guessLetter;
    for (int i = 0; i < this.lettersUsedCharArray.length; i++)
    {   
        if (this.lettersUsedCharArray[i]== '\0')
        {
                this.lettersUsedCharArray[i]=this.guessLetter;
                break;
        }   
    }
    Arrays.sort(this.lettersUsedCharArray);
}

/**************************************************
 * Method - print out out letters used
 * 
 **************************************************/
public void printLettersUsedCharArray(char[] lettersUsedCharArray, OutputBox oBox)
{
    oBox.print("Letters used so far : ");
    for(int i = 0; i < lettersUsedCharArray.length; i++)
    {
        oBox.print(lettersUsedCharArray[i]); 
    }
}
char[]letsusedchararray=新字符[26];
/**************************************************
*方法-将猜测字母添加到lettersUsedCharArray
* 
**************************************************/
公共无效addGuessLetter(字符guessLetter)
{
this.guessLetter=guessLetter;
for(int i=0;i
更新的答案 如果您试图使用
数组对数组进行排序
[b,a,{,{,}
-->
[a,b,{,{,}
(避免说
是“空”位)。排序
,为了避免在开始处放置
标记,您应该指定必须排序的范围,如本例所示:

char[] arr = new char[4];
arr[0] = 'B';
arr[1] = 'A';

System.out.println(Arrays.toString(arr)); // before sorting: [B, A, , ]
Arrays.sort(arr, 0, 2);// sort from 0 index (inclusive) to 2 index (exclusive) 
System.out.println(Arrays.toString(arr)); // after sorting: [A, B, , ]

因此,在向数组中添加字符的情况下,您可以在数组中迭代,直到找到空的空间,将该字母放入数组并使用
数组对其进行排序。排序(arr,0,i+1)

我无法正确理解该问题。你能展示你所拥有的和你想要的吗?如果要反转外观,只需反转数组或在循环中打印它们,从最后一个索引开始,一直打印到第一个索引。是否无法使用“lettersUsedCharArray”的ArrayList?在这种情况下,这似乎会使您的生活更轻松。当您从所有
'\0'
开始排序时,整个数组将把它们放在开头。去找@SoulDZIN的小费。谢谢你们两位。为了进一步解释,char数组似乎将字母一个接一个地添加到数组的末尾,因此当我对它们进行排序并打印时,输出类似于“BEOY”,即在4个字母之前有22个空格。如果我按照上面Quoi建议的相反顺序打印,那么字母将显示在空格之前,但字母顺序与字母顺序相反。所以我不明白的是为什么字母不存储在数组的开头?Pshemo这可能是你向我解释的,但不幸的是,我还没有明白你的意思。这里是初学者@quoi@user2035101检查我的最新答案(抱歉反应太晚,我不知怎么错过了你按摩的通知)。