2011-07-18 160 views
0

我有在用户经由文本字段给出的索引的程序的主阵列:爪哇复杂阵列

import java.awt.BorderLayout; 
    import java.awt.Dimension; 
    import java.awt.FlowLayout; 
     import java.awt.event.ActionEvent; 
     import java.awt.event.ActionListener; 

    import javax.swing.JButton; 
    import javax.swing.JFrame; 
    import javax.swing.JLabel; 
    import javax.swing.JOptionPane; 
    import javax.swing.JPanel; 
    import javax.swing.JScrollPane; 
    import javax.swing.JTextArea; 
    import javax.swing.JTextField; 

    public class Main { 

static JTextArea results = new JTextArea(); 
static int Gen = 0; 
static JLabel l4 = new JLabel(" Generated: "+Gen); 
static JFrame w = new JFrame("Final"); 
static JTextField t3 = new JTextField(); 
static String[] values = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L","M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "0","1","2", "3", "4", "5", "6", "7", "8", "9"}; 


public static void main(String[] args){ 

    JPanel a = new JPanel(new FlowLayout()); 
    JLabel l3 = new JLabel("Size:"); 
    t3.setPreferredSize(new Dimension(100, 20)); 
    JButton start = new JButton("Start!"); 
    results.setToolTipText("This is where the generated keys will be displayed"); 
    start.addActionListener(new startClicked()); 
    a.add(l3); 
    a.add(t3); 
    a.add(start); 

    w.add(a, BorderLayout.NORTH); 
    w.add(l4, BorderLayout.SOUTH); 
    JScrollPane scroll = new JScrollPane(results); 
    w.add(scroll, BorderLayout.CENTER); 
    results.setEditable(false); 
    w.setLocationRelativeTo(null); 
    w.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    w.setVisible(true); 
    w.setResizable(true); 
    w.setSize(new Dimension(600, 400)); 
    w.setMinimumSize(new Dimension(600, 400)); 
} 

static class startClicked implements ActionListener{ 
    public void actionPerformed(ActionEvent e){ 
     if(t3.getText().isEmpty() != true){ 
      compile(); 
     }else{ 
      JOptionPane.showMessageDialog(null, "No number"); 
     } 
    } 
} 

public static void compile(){ 

} 

public static char[] genNext(char[] s){ 

    for(int i = 0; i<=s.length; i++){ 
     if(s[i]=='Z'){ 
      s[i] = 0; 
      incr(s[i+1]); 
      return s; 
     } 
    } 
    return null; 
} 

public static char incr(char c){ 
    return c; 
} 
    } 

当按下按钮它得到键入到框作为数组的索引的数量:这样即:5则数组为[0,0,0,0,0]

第一或所述阵列中最后一个0(数组[0]或阵列[4])然后,通过置换“0'-” 9',然后是'a' - 'z'。

所以[0,0,0,0,0]将是[0,0,0,0,1]及其完成时,它会[0,0,0,0,Z]。

现在,当索引为“Z”索引前面将是0,那么就会重复以前的,但“Z”回来重置为“A”然后重复回“Z”

因此,这是什么看起来像一个因为:

启动[0,0,0,0,0] 成品[Z,Z,Z,Z,Z]

,所有的结果应该显示在新行上的textarea。

任何和所有帮助表示赞赏

**解决这个可能很复杂或简单,只要

+6

问题是什么? – Jonas

+0

我究竟将能够制造阵列生成从AZ的各项指标均可能值,并且当它到达“Z”,它会使一个索引去等[000]将是[00Z]再下一个,以便将[0A0]直到[0AZ]然后[0BA]等untilt结束结果是[ZZZ]。 – Mario

回答

1

也许这可能帮助:

long start = 0; 
long stop = Long.parseLong("ZZZZZ", 36); 

for (long i = start; i <= stop; ++i) 
{ 
    System.out.println(Long.toString(i, 36).toUpperCase()); 
} 
+0

谢谢你的Martijn – Mario

+0

不客气:d –

+0

@anonymous评论者:不,你不能....这到底是什么? –