java题:输入n个数字,以逗号分开,然后可以选择升或者降序排列,按提交键就在另一页面显示按什么排序,以 5

及结果... 及结果 展开
 我来答
Nomat
2010-09-30 · TA获得超过314个赞
知道小有建树答主
回答量:342
采纳率:0%
帮助的人:323万
展开全部

import java.awt.*;

import javax.swing.event.*;

import java.awt.event.*;

import javax.swing.*;

import java.util.*;

class WindowTextArea extends JFrame implements ActionListener

{

 JButton button;

 JMenuBar menubar;

 JMenu menu;

 JMenuItem item1,item2;

 JTextArea text1,text2;

 boolean boo=true;

 JPanel p;

 WindowTextArea(String s)

 {

  super(s);

  button=new JButton("排列");

   item1=new JMenuItem("升序");

   item2=new JMenuItem("降序");

   menu=new JMenu("排列顺序");

   menu.add(item1);

   menu.add(item2);

   menubar=new JMenuBar();

   menubar.add(menu);

   setJMenuBar(menubar);

   p=new JPanel();

   p.add(button);

   add(p,BorderLayout.NORTH);

   item1.addActionListener(this);

   item2.addActionListener(this);

   button.addActionListener(this);

  setLayout(new FlowLayout());

  text1=new JTextArea(6,15);

  text2=new JTextArea(6,15);

   add(new JScrollPane(text1));

  add(new JScrollPane(text2));

  text1.setLineWrap(true);

  text1.setWrapStyleWord(true);

  text2.setEditable(false);

  setBounds(100,100,250,350);

  setVisible(true);

  validate();

  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  }

  public void actionPerformed(ActionEvent e)

  {

   if(e.getSource()==item1) 

    {

     boo=true;

     text1.setText(null);

     text2.setText(null);

     }

    else if(e.getSource()==item2)

    {

     boo=false;

     text1.setText(null);

     text2.setText(null);

     }

   else

   {

  

  

   String s=text1.getText();

   StringTokenizer fenxi=new StringTokenizer(s,",");

   int n=fenxi.countTokens();

   int []a=new int[n];

   for(int i=0;i<=n-1;i++)

   {

    try{

        a[i]=Integer.parseInt(fenxi.nextToken());

        }

    catch(Exception ee)

    {

     JOptionPane.showMessageDialog(this,"请输入数字字符","警告",JOptionPane.WARNING_MESSAGE);

     text1.setText(null);

     }

    }

   Arrays.sort(a);              //按字典从小到大排序

   text2.setText(null);

   if(boo)

   {

     for(int i=0;i<n;i++)

     {

      text2.append(a[i]+"\n");

     }

    }

   else

   {

     for(int i=n-1;i>=0;i--)

     {

      text2.append(a[i]+"\n");

     }

    } 

   

  }

 }

}

 class lianxi

 {

  public static void main(String[] args)

  {

   new WindowTextArea("编辑练习");

   }

  }

我试了的可以 数字行 ,前面那个没仔细测试有点问题

a1076534701
2010-09-29
知道答主
回答量:27
采纳率:0%
帮助的人:7.4万
展开全部
地方个
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式