新手求助:在一个文本框中输入几个整数,点击按钮在另一个文本框中输出由小到大排列
刚看了下java相关书籍,感觉特别困难,写了个不晓得可不可以达到题目的要求,并且运行不出来的程序,希望哪位大神帮我看下,谢谢!import java.awt.event.*;
import javax.swing.*;
public class Number extends JFrame implements ActionListener{
JLabel la1=new JLabel("输入几个数");
JLabel la2=new JLabel("输出结果是");
JTextField txt1=new JTextField(5);
JTextField txt2=new JTextField(5);
JPanel panel=new JPanel();
JButton b=new JButton("由小到大输出:");
public Number(){
super("由小到大输出");
panel.add(la1);
panel.add(txt1);
panel.add(la2);
panel.add(txt2);
b.addActionListener(this);
panel.add(b);
this.getContentPane().add(panel);
this.setBounds(100, 100, 500, 100);
this.setDefaultCloseOperation(3);
this.setResizable(false);
this.setVisible(true); }
public static void main(String args[])
{
int a[];
int temp;
for(int i=0;i<a.length;++i){
for(int j=a.length-1;j>i;--j){
if(a[j]<a[j-1])
{
temp=a[j];
a[j]=a[j-1];
a[j-1]=temp;
}
}
}
}
}
----------------解决方案--------------------------------------------------------
非常想帮助你 但是SWING我不会啊,不用SWING可以 帮你弄弄
----------------解决方案--------------------------------------------------------
回复 2楼 hhwz
帮不了也没关系,有这个心就好 ----------------解决方案--------------------------------------------------------
随便帮你改了下
程序代码:
import java.awt.GridLayout;
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.JTextField;
@SuppressWarnings("serial")
public class Number extends JFrame {
JLabel la1 = new JLabel("输入几个数");
JLabel la2 = new JLabel("输出结果是");
JTextField txt1 = new JTextField(5);
JTextField txt2 = new JTextField(5);
JButton b = new JButton("由小到大输出:");
int[] in = new int[10];
public static void main(String[] args) {
new Number();
}
/**
* 输入的格式为:1,3,2,5,6
* 不要输0。
*/
public Number() {
init();
b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
in = num(txt1.getText());
String str = new String();
for (int i = 0; i < in.length; i++) {
if (in[i] != 0)
str += (in[i] + ",");
}
txt2.setText(str);
}
});
}
// 把输入的数字变为数组
public int[] num(String num) {
char[] c = new char[num.length()];
c = num.toCharArray();
int[] n = new int[30];
int j = 0;
for (int i = 0; i < c.length; i++) {
if (c[i] != ',') {
n[j] = Integer.parseInt(String.valueOf(c[i]));
j++;
}
}
sort(n, j);
return n;
}
// 插入排序
public void sort(int arr[], int l) {
int temp, j;
for (int i = 1; i < l; i++) {
temp = arr[i];
j = i;
while (j > 0 && arr[j - 1] > temp) {
arr[j] = arr[j - 1];
j--;
arr[j] = temp;
}
}
}
private void init() {
this.setSize(300, 130);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLayout(new GridLayout(3, 2, 10, 10));
this.add(la1);
this.add(txt1);
this.add(la2);
this.add(txt2);
this.add(b);
this.setVisible(true);
}
}
----------------解决方案--------------------------------------------------------