密保卡程序

不知道啥时候起,密保卡开始流行了。前几天没事自己写了一个生成密保卡的程序,赶赶流行。

[c-sharp]  view plain copy
  1. import java.util.Random;  
  2.   
  3.   
  4.   
  5. public class MiBaoKa {   
  6.  //定义数组  
  7.  private String[][] mbk = null;  
  8.  //定义列数  
  9.  private int row=10;  
  10.  //定义行数  
  11.  private int col=8;  
  12.    /** 
  13.     * 生成密保卡序列 
  14.     * @return 
  15.     */  
  16.  public void creatMBK(){  
  17.   mbk = new String[row][col];   
  18.   //取160个随机数  
  19.   for (int i = 0; i < row; i++) {  
  20.    for (int j = 0; j < col;j++ ) {  
  21.     //取随机数  
  22.     int index1 = new Random().nextInt(10);  
  23.     int index2 = new Random().nextInt(10);  
  24.     //保存到字符串  
  25.     mbk[i][j]=index1+""+index2;     
  26.    }     
  27.   }  
  28.  }  
  29.  /** 
  30.   * 取指定位置密保卡数码 
  31.   * @param sb 
  32.   * @param r 
  33.   * @param c 
  34.   * @return 
  35.   */  
  36.  public String getStr(int r,int c){    
  37.     
  38.   return mbk[r][c];   
  39.  }  
  40.  public int getRow() {  
  41.   return row;  
  42.  }  
  43.  /** 
  44.   * 设置行数 
  45.   * @param row 
  46.   */  
  47.  public void setRow(int row) {  
  48.   this.row = row;  
  49.  }  
  50.  public int getCol() {  
  51.   return col;  
  52.  }  
  53.  /** 
  54.   * 设置列数 
  55.   * @param col 
  56.   */  
  57.  public void setCol(int col) {  
  58.   this.col = col;  
  59.  }  
  60.  /** 
  61.   * 测试程序  
  62.   * @param args 
  63.   */  
  64.  public static void main(String[] args) {  
  65.   int row = 10;  
  66.   int col = 8;  
  67.   MiBaoKa mbk = new MiBaoKa();  
  68.   mbk.setRow(row);  
  69.   mbk.setCol(col);    
  70.   mbk.creatMBK();  
  71.   System.out.println("打印密保卡数据:");  
  72.   System.out.println("-------------我是牛叉的分割线-------------");  
  73.   System.out.println();  
  74.   //打印横表头  
  75.   String  shu = "ABCDEFGHIJKLMNOPLRSTUVWXYZ";  
  76.   System.out.print("  ");  
  77.   for (int j = 0; j < col; j++) {  
  78.    System.out.print("   "+shu.charAt(j));     
  79.   }  
  80.   System.out.println();  
  81.   System.out.print("  +");  
  82.   for (int j = 0; j < col; j++) {  
  83.    System.out.print("  - ");  
  84.   }  
  85.   System.out.println();  
  86.   //打印全部数据  
  87.   for (int i = 0; i < row; i++) {  
  88.    //打印竖表头  
  89.    System.out.print(i+" | ");     
  90.    for (int j = 0; j < col; j++) {  
  91.     String str = mbk.getStr(i,j);  
  92.     System.out.print(str);  
  93.     System.out.print("  ");  
  94.    }  
  95.    System.out.println();     
  96.   }   
  97.   System.out.println();   
  98.   System.out.println("-------------我是牛叉的分割线-------------");  
  99.   System.out.println();  
  100.   System.out.println("取随机位置的值:");  
  101.   for (int i = 0; i < 3; i++) {  
  102.    //取随机位置的值  
  103.    int index1 = new Random().nextInt(col);  
  104.    int index2 = new Random().nextInt(row);  
  105.    String str = mbk.getStr(index2,index1);  
  106.    System.out.println(shu.charAt(index1)+""+index2+"的值是:"+ str);  
  107.   }  
  108.     
  109.   }  
  110.     
  111. }  

 

结果:

 

打印密保卡数据:
-------------我是牛叉的分割线-------------

 

      A    B    C    D    E    F    G    H
   +  -   -   -   -   -   -   -   - -   -   -  

0 | 44  22  13  26  70  73  07  62  
1 | 01  23  93  84  59  80  09  73  
2 | 84  35  60  87  96  81  69  41  
3 | 59  50  11  91  13  90  64  27  
4 | 88  69  52  05  94  28  17  17  
5 | 14  30  09  08  47  78  95  06  
6 | 89  05  96  04  83  34  18  76  
7 | 25  81  55  52  23  88  91  25  
8 | 21  91  71  77  64  41  68  70  
9 | 62  80  71  45  20  35  23  76 

 

-------------我是牛叉的分割线-------------

 

取随机位置的值:
D1的值是:84
F3的值是:90
D4的值是:05

 

你可能感兴趣的:(密保卡程序)