Java中随机方法的数字排序
每当我在我的程序中点击这里的刷新,它将生成5个介于1到13之间的随机数,并以卡片的形式显示在屏幕上。我用JavaFx来做这个。我想不出第二件事,那就是当我点击排序按钮时,程序应该获取当前的一组随机数,并从最低到最高显示卡片Java中随机方法的数字排序,java,javafx,Java,Javafx,每当我在我的程序中点击这里的刷新,它将生成5个介于1到13之间的随机数,并以卡片的形式显示在屏幕上。我用JavaFx来做这个。我想不出第二件事,那就是当我点击排序按钮时,程序应该获取当前的一组随机数,并从最低到最高显示卡片 public class Cards extends Application { public static void main(String[] args) { Application.launch(args); } public static int myca
public class Cards extends Application {
public static void main(String[] args) {
Application.launch(args);
}
public static int mycard() {
Random rand = new Random();
int n = rand.nextInt(13) + 1;
return n;
}
public void start(Stage primaryStage) {
primaryStage.setTitle("Cards Layout");
GridPane pane = new GridPane();
pane.setAlignment(Pos.CENTER);
pane.setHgap(10);
pane.setVgap(5);
// creates button
Button refresh = new Button("Refresh");
HBox button = new HBox(10);
button.setAlignment(Pos.BOTTOM_LEFT);
button.getChildren().add(refresh);
pane.getChildren().add(refresh);
//Create sort button
Button sort = new Button("Sort");
HBox button1 = new HBox(10);
button1.setAlignment(Pos.BOTTOM_RIGHT);
button1.getChildren().add(sort);
pane.getChildren().add(sort);
// creates random card images and adds them to pane
Image img = new Image("image/card/"+mycard()+".png");
ImageView imgView = new ImageView(img);
pane.add(imgView, 1, 0);
Image img2 = new Image("image/card/"+mycard() +".png");
ImageView imgView2 = new ImageView(img2);
pane.add(imgView2, 2, 0);
Image img3 = new Image("image/card/" +mycard()+ ".png");
ImageView imgView3 = new ImageView(img3);
pane.add(imgView3, 3, 0);
Image img4 = new Image("image/card/" +mycard()+".png");
ImageView imgView4 = new ImageView(img4);
pane.add(imgView4, 4, 0);
Image img5 = new Image("image/card/" +mycard()+".png");
ImageView imgView5 = new ImageView(img5);
pane.add(imgView5, 5, 0);
Scene scene = new Scene(pane, 600, 200);
primaryStage.setScene(scene);
primaryStage.show();
refresh.setOnAction(new EventHandler<ActionEvent>() {
public void handle(ActionEvent e) {
imgView.setImage(new Image("image/card/" +mycard()+".png"));
imgView2.setImage(new Image("image/card/" +mycard()+".png"));
imgView3.setImage(new Image("image/card/" +mycard()+".png"));
imgView4.setImage(new Image("image/card/" +mycard()+".png"));
imgView5.setImage(new Image("image/card/" +mycard()+".png"));
}
});
sort.setOnAction(new EventHandler<ActionEvent>() {
public void handle(ActionEvent e) {
imgView.setImage(new Image("image/card/" + "1.png"));
imgView2.setImage(new Image("image/card/" + "2.png"));
imgView3.setImage(new Image("image/card/" + "3.png"));
imgView4.setImage(new Image("image/card/" + "4.png"));
imgView5.setImage(new Image("image/card/" + "5.png"));
//Cannot figure out what to do here ^
}
});
}
}
公共类卡扩展应用{
公共静态void main(字符串[]args){
应用程序启动(args);
}
公共静态int-mycard(){
Random rand=新的Random();
int n=兰特nextInt(13)+1;
返回n;
}
公共无效开始(阶段primaryStage){
初级阶段。设置标题(“卡片布局”);
GridPane=新建GridPane();
窗格设置对齐(位置中心);
窗格。setHgap(10);
窗格。设置间隙(5);
//创建按钮
按钮刷新=新按钮(“刷新”);
HBox按钮=新HBox(10);
按钮。设置对齐(位置底部左);
button.getChildren().add(刷新);
pane.getChildren().add(刷新);
//创建排序按钮
按钮排序=新按钮(“排序”);
HBox按钮1=新的HBox(10);
按钮1.设置对齐(右下角位置);
button1.getChildren().add(排序);
pane.getChildren().add(排序);
//创建随机卡片图像并将其添加到窗格中
图像img=新图像(“图像/卡/”+mycard()+“.png”);
ImageView imgView=新的ImageView(img);
添加(imgView,1,0);
图像img2=新图像(“图像/卡/”+mycard()+“.png”);
ImageView imgView2=新的ImageView(img2);
添加(imgView2,2,0);
图像img3=新图像(“图像/卡/”+mycard()+“.png”);
ImageView imgView3=新的ImageView(img3);
添加(imgView3,3,0);
Image img4=新图像(“Image/card/”+mycard()+“.png”);
ImageView imgView4=新的ImageView(img4);
添加(imgView4,4,0);
Image img5=新图像(“Image/card/”+mycard()+“.png”);
ImageView imgView5=新的ImageView(img5);
添加(imgView5,5,0);
场景=新场景(窗格,600200);
初级阶段。场景(场景);
primaryStage.show();
refresh.setOnAction(新的EventHandler(){
公共无效句柄(ActionEvent e){
setImage(新图像(“Image/card/”+mycard()+“.png”);
setImage(新图像(“Image/card/”+mycard()+“.png”);
setImage(新图像(“Image/card/”+mycard()+“.png”);
设置图像(新图像(“Image/card/”+mycard()+“.png”);
setImage(新图像(“Image/card/”+mycard()+“.png”);
}
});
sort.setOnAction(新的EventHandler(){
公共无效句柄(ActionEvent e){
setImage(新图像(“Image/card/”+“1.png”);
imgView2.setImage(新图像(“Image/card/”+“2.png”);
setImage(新图像(“Image/card/”+“3.png”);
imgView4.setImage(新图像(“Image/card/”+“4.png”);
imgView5.setImage(新图像(“Image/card/”+“5.png”);
//我不知道该怎么做^
}
});
}
}
调用myCard()
时,需要将随机生成的号码添加到列表中。单击“刷新”时,需要清除该列表(myList.clear()
)。单击“排序”时,首先需要对该列表进行排序,然后按索引从0
到myList.size()
访问列表中的项目
如果您也将图像添加到列表中
,则可以使用相同的索引将图像与编号/imageResource匹配
因为您有固定数量的卡,所以您也可以使用一个数组(但是如果您计划使用更多的卡来重用代码,我会使用一个列表)您能对这个问题更详细一点吗?是在对数字进行排序时,还是在显示时?