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);
}
}每次首次执行排序后最大值都会变成0
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
BCS-点心 2021-04-20 09:17关注1.大概看了下,这是一个随机产生20个数,然后做一些操作的功能
2.现在排序这里有些问题,你把排序的这个功能单独拿出来到一个测试类中去
3.在测试类里随机生成一个20个数的数组,使用排序功能,如果有问题,就是排序代码的事
解决 无用评论 打赏 举报