2013-12-10 26 views
0

現在我正在製作一個小程序,它應該從用戶實際名稱中創建一個電子郵件地址和用戶名。例如,Peter Anderson在兩個單獨的文本字段中鍵入他的姓和名,然後一旦按下保存按鈕,程序就會在兩個單獨的文本字段中返回用戶名和電子郵件地址。例如,彼得安德森獲得用戶名「a13petand」和電子郵件地址「[email protected]」a =秋季,13 = 2013年。它應該只從前&姓氏的前3個字母。然後它應該在文本區域添加名字,姓氏,用戶名和電子郵件地址。這就是我的代碼目前的樣子;從用戶姓名中創建電子郵件和用戶名? (Java)

package test5; 

import javax.swing.JOptionPane; 

public class Test5 extends javax.swing.JFrame { 


    String[][] Users = new String[20][4]; 
    int counter; 


    public Test5() { 
     initComponents(); 
    } 

private void savebtnActionPerformed(java.awt.event.ActionEvent evt) {           

     if (counter < Users.length) { 

      Users[counter][0] = Firstnametf.getText(); 
      Users[counter][1] = Lastnametf.getText(); 
      Users[counter][2] = Usernametf.getText(); 
      Users[counter][3] = Emailtf.getText(); 
      jTextArea1.append(Users[counter][0] + ", " + Users[counter][1] + ", " + Users[counter][2] + ", " + Users[counter][3] + "\n"); 
      counter++; 

     } else { 

      JOptionPane.showMessageDialog(null, "The array is full!"); 
      counter = Users.length; 
     } 


    }  

我該如何繼續?我如何讓它生成「a13」,然後以姓和名的前三個字母?這是我的主要問題。我所知道的是我應該使用String類方法子字符串從第一個&姓氏中選擇前3個字母。然後使用Calendar類獲取正確的年份。但我不知道如何使它與當前代碼一起工作,這是問題所在。

回答

0
Date date = Calendar.getInstance().getTime(); 
String result = ""; 
result += new SimpleDateFormat("MMM").format(date).substring(0,1).toLowerCase(); 
result += new SimpleDateFormat("yy").format(date); 
result += Firstnametf.getText().subString(0,3); 
result += Lastnametf.getText().subString(0,3); 
+0

你也可以使用一個字符串緩衝區,但我懷疑它會加快速度了。 – jbangerter

0

你應該使用

firstName = Firstnametf.getText().subString(0,3); 
lastName = Lastnametf.getText().subString(0,3); 
currentYear = Calendar.getInstance().get(Calendar.YEAR); 
voila = firstName.concat(lastName).concat(currentYear); 

voila = firstName + lastName + currentYear.toString ; 
相關問題