我想在applet下实现:在text.1下输入任意多个数字(M),然后在Text2下输入一个数N(N<M),M中选N个出来组合,然后text3中显示出所有的组合,谢谢
比如他输入1,2,3要求输出2个数的组合;
就又1,2;1,3;2,3;这三种组合;
要求屏幕上输出所有的组合数 ,谢谢我的代码如下,请各位帮忙更正谢谢!!!:
import java.applet.*;
import java.awt.*;
public class love extends Applet implements TextListener{
TextArea text1,text2,text3;public void init(){
text1=new TextArea(8,23);
text2=new TextArea(20,1);
text3=new TextArea(9,25);
add(text1);add(text2);add(text3);
text3.setEditable(false);
text1.addTextListener(this);
text2.addTextListener(this);
}
public void textValueChanged(TextEvent e){
if(e.getSource==text1)
{String s=text1.getText();
StringTokenizer.fenxi=new StringTokenizer(s,",'\n'");
int n=fenxi.countToken();
String a[]=new String[n];
for(i=0;i<=n-1;i++)
{String temp=fenxi.nextToken();
a[i]=temp;
}}}
public void textValueChanged(TextEvent e){
if(e.getSource==text2)
{String number=text2.getText();
int num=Integer.parseInt(number);
String cc=a[i];
compute(num,0);
}
}
    
    
 public  void compute(int[] result, int current) {
    int maxUnUsed = (current == 0) ? 0 : result[current - 1] + 1;
    for (int i = maxUnUsed; i < cc.length; ++i) {
      result[current] = i;
      if (current != result.length - 1)
        compute(result,current + 1);
      else
        display(result);
    }
  }
  public void display(int[] result){
  text3.setText(null);
    for(int i = 0; i < result.length; ++i)
      text3.append(cc[result[i]]+((i!=result.length-1)?",":"\n"));    
  }  
  
}