2012-11-16 41 views
0

所以我正在爲學校編寫一個處理用戶名和密碼的程序。它應該爲3個用戶提供用戶名和密碼的提示。然後顯示密碼長度的用戶名和星號。我幾乎我需要的一切,包括如何打印星號密碼在同一行的長度:Java用戶名密碼數組替換爲asterix

//int asterix =password[x].length(); 
* for (int y=0; y<asterix ;y++){ 
*     System.out.print("*"); 
*    } 
*/ 

我的問題是我需要格式化這樣的輸出:

USER ID     PASSWORD 

howdyDoodie    *********** 
batMan     ************ 
barneyRubble    ************ 

到目前爲止,我的代碼如下所示:

public class test{ 

    /** 
    * 
    * @param args 
    */ 





    public static void main(String[] args){ 
     String[] user = new String[3]; 
     String[] password = new String[3]; 

     // Prompt for Username and Password and loop 3 times adding to next value in array 
     for(int x=0; x<=2;x++){ 

     user[x] = JOptionPane.showInputDialog(null,"Enter Username: "); 
     password[x] = JOptionPane.showInputDialog(null,"Enter Password: "); 
     // Test number of loops 
     //System.out.println(x); 

     } 

     //Field Names Print 

     System.out.printf("\n%s\t%10s","Username","Password"); 

     for(int x=0; x<=2;x++){ 
      System.out.printf("\n%s\t%15s",user[x],password[x]); 

     } 

    System.exit(0); 

    } 
    /* 
    * //int asterix =password[x].length(); 
    * for (int y=0; y<asterix ;y++){ 
    *     System.out.print("*"); 
    *    } 
    */ 

} // End of Class 

我無法弄清楚如何獲得星號打印出來並使用的格式。

+2

試試[JPasswordField](http://docs.oracle.com/javase/1.4.2/docs/api/javax/swing/JPasswordField.html)。 :) – asteri

+2

順便說一句,這是Asterix:http://en.wikipedia.org/wiki/Asterix *被稱爲星號:http://en.wikipedia.org/wiki/Asterisk – weltraumpirat

+0

猜猜我一直在拼錯它一會兒。謝謝 – D3TXER

回答

1

您需要一個嵌套循環。移動for循環打印asterisk (*)內的for循環打印所有用戶的用戶名和密碼。

您的循環應該看起來像這樣。它沒有經過測試,但你可以將它工作以獲得所需的輸出。

System.out.printf("%-20s\t%-10s","Username","Password"); 

for(int x=0; x<=2;x++) { 

    System.out.printf("%-20s\t",user[x]); // Just print user here 

    int asterix =password[x].length(); 
    for (int y=0; y<asterix ;y++){ // For the length of password 
     System.out.print("*");  // Print * 
    } 
    System.out.println(); // Print newline to move to the next line 
} 

%-20s\t裝置username需要20位,左對齊,和之後添加一個選項卡。

+0

非常感謝您的幫助! – D3TXER