import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.LayoutManager;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.*;
import javax.swing.*;
import javax.swing.text.Caret;
public class Equalsnum {
public static void main(String[] args) {
new Strpro();
}}class Strpro implements ActionListener{
JTextField jt[];
Strpro(){
JFrame f = new JFrame();
JLabel jl = new JLabel("请输入任意10个数字进行排续");
jt = new JTextField[10];
for (int i=0;i<jt.length;i++){
jt[i] = new JTextField(2);
f.add(jt[i]);
}
JButton jb = new JButton("确定");
f.setLayout(new FlowLayout());
jb.addActionListener(this);
f.setBounds(200, 200, 400,100);
f.add(jl);
// f.add(jt);
f.add(jb);
//f.pack();
f.setVisible(true);
} public void actionPerformed(ActionEvent e) {
String[] b = new String[10];
for (int a=0;a<jt.length;a++){
b[a] = (jt[a].getText());
// System.out.print(b[a]);
}
Arrays.sort(b);
for (int x=0;x<b.length;x++){
jt[x].setText(b[x]);
}
}
}为什么不能排呢?????????
如果是01 05 66 55 44这样的两位数就可以.
而1 5 66 55 12 这样的数就不行了.为什么.怎么解决呢?
import java.awt.GridLayout;
import java.awt.LayoutManager;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.*;
import javax.swing.*;
import javax.swing.text.Caret;
public class Equalsnum {
public static void main(String[] args) {
new Strpro();
}}class Strpro implements ActionListener{
JTextField jt[];
Strpro(){
JFrame f = new JFrame();
JLabel jl = new JLabel("请输入任意10个数字进行排续");
jt = new JTextField[10];
for (int i=0;i<jt.length;i++){
jt[i] = new JTextField(2);
f.add(jt[i]);
}
JButton jb = new JButton("确定");
f.setLayout(new FlowLayout());
jb.addActionListener(this);
f.setBounds(200, 200, 400,100);
f.add(jl);
// f.add(jt);
f.add(jb);
//f.pack();
f.setVisible(true);
} public void actionPerformed(ActionEvent e) {
String[] b = new String[10];
for (int a=0;a<jt.length;a++){
b[a] = (jt[a].getText());
// System.out.print(b[a]);
}
Arrays.sort(b);
for (int x=0;x<b.length;x++){
jt[x].setText(b[x]);
}
}
}为什么不能排呢?????????
如果是01 05 66 55 44这样的两位数就可以.
而1 5 66 55 12 这样的数就不行了.为什么.怎么解决呢?
稍微改了下~~~
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.*;
import javax.swing.*;
public class Equalsnum {
public static void main(String[] args) {
new Strpro();
}}class Strpro implements ActionListener{
JTextField jt[];
Strpro(){
JFrame f = new JFrame();
JLabel jl = new JLabel("请输入任意10个数字进行排续");
jt = new JTextField[10];
for (int i=0;i<jt.length;i++){
jt[i] = new JTextField(2);
f.add(jt[i]);
}
JButton jb = new JButton("确定");
f.setLayout(new FlowLayout());
jb.addActionListener(this);
f.setBounds(200, 200, 400,100);
f.add(jl);
// f.add(jt);
f.add(jb);
//f.pack();
f.setVisible(true);
} public void actionPerformed(ActionEvent e) {
int [] b = new int[10];
for (int a=0;a<jt.length;a++){
b[a]=Integer.parseInt(jt[a].getText());
// System.out.print(b[a]);
}
Arrays.sort(b);
for (int x=0;x<b.length;x++){
jt[x].setText(Integer.toString(b[x]));
}
}
}