要求根據RandomStr.java:使用類型轉換產生六位驗證字串,樣本程式每次運 行時,都會產生不同的字串。

來源:互聯網
上載者:User

標籤:family   不能   驗證碼   splay   函數   class   定義   設計思想   pre   

1.程式設計思想驗證碼

①定義一個字串變數來儲存隨機產生的。

②利用迴圈產生六位隨機數,在產生每一位時將其轉換為char類型並寫在字串後面。

③利用對話方塊顯示產生的驗證碼,並提示使用者輸入驗證碼。

④顯示使用者是否驗證成功。

2.程式流程圖

 

3.來源程式代碼

 

import java.util.Random;import javax.swing.JOptionPane;  // import class JOptionPanepublic class VerificationCode {    /**     * @param args     */    public static void main(String[] args) {        // TODO Auto-generated method stub        String code="";//定義一個新的Null 字元串        for(int i=1;i<=6;i++)        {            Random random=new Random();            int character=random.nextInt(26)+97;//隨機產生97-123之間的數            code=code+(char)character;//將產生的數轉化為char類型為小寫字母        }        String input=JOptionPane.showInputDialog(code+"\n"+"請輸入驗證碼:");//顯示驗證碼,並提示使用者輸入驗證碼        if(input.equals(code))//判斷驗證碼是否正確        {            JOptionPane.showMessageDialog(null,"驗證碼正確,驗證成功!","Results",JOptionPane.PLAIN_MESSAGE );        }        else        {            JOptionPane.showMessageDialog(null,"驗證碼錯誤,驗證失敗!","Results",JOptionPane.PLAIN_MESSAGE );        }    }}

 4.結果

 

 5.實驗總結

本題中的關鍵是對類型轉換的把握,產生隨機字串的方法有很多,本題考查對RandomStr.java以及類型轉換的使用。我在判斷隨機產生的字串與使用者輸入的驗證碼是否一樣時出錯,My Code為code==input,則出現無論輸入什麼驗證碼都會顯示驗證成功,後來經過查詢,發現是判斷時出錯,因為在C++中直接判斷就行,而在Java中要用到equals函數來判斷。第二個錯誤則是粗心所致,我將input.equals(code)寫成了input.equals(input),則出現無論輸入什麼驗證碼也都會顯示驗證成功。

除此之外,程式的一個缺點是只能產生全是小寫字母或者全是大寫字母,再或者全是數字組成的驗證碼,不能產生小寫字母、大寫字母、數字隨機結合的驗證碼。

要求根據RandomStr.java:使用類型轉換產生六位驗證字串,樣本程式每次運 行時,都會產生不同的字串。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.