package com; import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Random; public class SuiJiShuLie { public static void main(String[] args){ new window(); } } class window extends JFrame{ window(){ pan p =new pan(); this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); this.setBounds(500,300,500,500); this.setVisible(true); this.add(p); } } class pan extends JPanel implements ActionListener{ JLabel jl1,jl2,jl3,jl4,jl5,jl6; JButton jb1,jb2,jb3,jb4,jb5; JTextArea jta1,jta2; JTextField jt1,jt2,jt3; int[] arr=new int[21]; pan(){ this.setLayout(null); jl1=new JLabel("20个随机数:"); jl2=new JLabel("随机数求和:"); jl3=new JLabel("随机数排列:"); jl6=new JLabel("(从大到小)"); jl4=new JLabel("最大值:"); jl5=new JLabel("最小值:"); jb1=new JButton("20个随机数"); jb2=new JButton("随机数求和"); jb3=new JButton("随机数排列"); jb4=new JButton("最大值"); jb5=new JButton("最小值"); jta1=new JTextArea(); jta2=new JTextArea(); jt1=new JTextField(); jt2=new JTextField(); jt3=new JTextField(); this.add(jl1); this.add(jl2); this.add(jl3); this.add(jl4); this.add(jl5); this.add(jl6); this.add(jb1); this.add(jb2); this.add(jb3); this.add(jb4); this.add(jb5); this.add(jta1); this.add(jta2); this.add(jt1); this.add(jt2); this.add(jt3); jl1.setBounds(20,20,100,20); jl2.setBounds(20,120,100,20); jl3.setBounds(20,70,100,20); jl6.setBounds(20,90,100,20); jl4.setBounds(20,150,100,20); jl5.setBounds(20,180,100,20); jb1.setBounds(20,400,100,20); jb2.setBounds(140,400,100,20); jb3.setBounds(260,400,100,20); jb4.setBounds(140,370,100,20); jb5.setBounds(20,370,100,20); jt1.setBounds(120,120,50,20); jt2.setBounds(120,150,50,20); jt3.setBounds(120,180,50,20); jta1.setBounds(120,20,170,40); jta2.setBounds(120,70,170,40); jb1.addActionListener(this); jb2.addActionListener(this); jb3.addActionListener(this); jb4.addActionListener(this); jb5.addActionListener(this); } public void actionPerformed(ActionEvent e) { String somethings=e.getActionCommand(); switch (somethings){ case "20个随机数": way01(); break; case"随机数求和": way02(); break; case"随机数排列": way05(); break; case"最大值": way03(); break; case"最小值": way04(); break; } } void way01(){ Random rd=new Random(); String s=""; for(int i=0;i<20;i++){ arr[i]=rd.nextInt(100); } for(int i=0;i<20;i++){ if(arr[i]<10){ s="0"+arr[i]+" "+s; }else{ s=arr[i]+" "+s; } if(i==9){ s="\n"+s; } } jta1.setText(s); } void way02(){ int sum=0; for(int i=0;i<20;i++){ sum=arr[i]+sum; } String a = sum+""; jt1.setText(a); } void way03(){ int max=0; for(int i=0;i<20;i++){ if(arr[i]>max){ max=arr[i]; } } String a=max+""; jt2.setText(a); } void way04(){ int min=100; for(int i=0;i<20;i++){ if(arr[i]<min){ min=arr[i]; } } String a=min+""; jt3.setText(a); } void way05(){ for(int i=0;i<20;i++) { for(int j=0;j<20-i;j++){ if(arr[j]>arr[j+1]){ int temp =arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } } //首次执行排序后最大值都会变成 00 String s=""; for(int i=0;i<20;i++){ if(arr[i]<10){ s="0"+arr[i]+" "+s; }else{ s=arr[i]+" "+s; } if(i==9){ s="\n"+s; } } jta2.setText(s); } }
![](https://profile-avatar.csdnimg.cn/a037985315c541a2be2db5a7eeb0070c_nameoffuck.jpg!4)
每次首次执行排序后最大值都会变成0
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- BCS-点心 2021-04-20 09:17关注
1.大概看了下,这是一个随机产生20个数,然后做一些操作的功能
2.现在排序这里有些问题,你把排序的这个功能单独拿出来到一个测试类中去
3.在测试类里随机生成一个20个数的数组,使用排序功能,如果有问题,就是排序代码的事
解决 无用评论 打赏 举报
悬赏问题
- ¥200 csgo2的viewmatrix值是否还有别的获取方式
- ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
- ¥15 请把下列每一行代码完整地读懂并注释出来
- ¥15 pycharm运行main文件,显示没有conda环境
- ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件
- ¥15 为什么eclipse不能再下载了?
- ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
- ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
- ¥15 特定网页无法访问,已排除网页问题
- ¥50 如何将脑的图像投影到颅骨上