在Arrary中存储未知数量的数字

时间:2017-10-14 14:22:11

标签: java arrays

我正在自学Java。其中一个任务是构建一个GUI程序,用户可以移动一个滑块并选择一个介于100和1000之间的数字。他们点击一个按钮提交该数字,两个骰子就是"滚动"很多次。每个骰子的数字加在一起,然后存储在一个数组中。 一旦骰子被抛出指定的次数(基于滑块),打印直方图(使用*字符),显示每个数字被滚动的总百分比。 每个*将占总卷数的1%。所以,应该显示大约100 *。

示例会话: - 人将滑块调整到所需位置。 - 人按下按钮。 - 模拟结果显示在TextArea中。 TextArea中可能显示的示例: 骰子滚动模拟结果 每个" *"占卷总数的1%。卷总数= 1000.看起来像这样:

2: ***
3: ***
4: ***********
5: ***********
6: ********
7: ****************** 
8: **************** 
9: **********
10: *************
11: *****
12: **

我将把我当前的代码放在下面。我真的在努力解决如何在数组中存储未知数量的数字(可能在100到1000之间)。我是否仍然构建数组以容纳1000个值?

这是我目前的代码:

import javafx.application.Application;
import javafx.stage.Stage;
import javafx.fxml.*;
import javafx.scene.*;
import javafx.stage.Stage;
import javafx.event.*;
import javafx.scene.control.*;
import javafx.scene.input.*;
import java.util.Random;

public class ThackerAssignment6 extends Application {

    //add the fxml controls and fxml event methods here
    @FXML Slider mySlider;
    @FXML Label myLabel;
    @FXML Button myButton;

    @FXML protected void mouseDragged(MouseEvent event){
      double currentValue = mySlider.getValue();
      int intValue = (int) currentValue;
      myLabel.setText(intValue + "");
      myButton.setValue(intValue);




    }

    public void start(Stage primaryStage) throws Exception {
        FXMLLoader loader = new FXMLLoader(getClass().getResource("ThackerAssignment6.fxml"));
        loader.setController(this);
        Parent root = loader.load();

        Scene myScene = new Scene(root,700,700);
        primaryStage.setScene(myScene);
        primaryStage.show();
    }



    public static void main(String[] args) {
      launch(args);     
      /*Start
        Move Slider. That number is inputted when *button* is clicked.
        randOne and randTwo are initialized that many times. Each time
        both numbers are added together and stored in a 2 row array. Row
        1 is Roll Number. Row 2 is the sum of both die results. Then something
        about printing it with stars?
      */
      Random randomOne = new Random();
      int randOne = randomOne.nextInt(6) + 1;
      Random randomTwo = new Random(); 
      int randTwo = randomTwo.nextInt(6) + 1;

      //int[] dieRoll = new int[intValue];

      //System.out.println(dieRoll);

    }
}

2 个答案:

答案 0 :(得分:1)

有没有听说过ArrayList

数组具有固定大小,而ArrayList动态扩展。随着您添加越来越多的数字,ArrayList会增长。​​

答案 1 :(得分:1)

Java有一些东西叫做ArrayList。 ArrayList支持可根据需要增长的动态数组。

实施例

ArrayList x = new ArrayList();

  // add elements to the array list
  x.add("C");
  x.add("A");
  x.add("E");

  // Remove elements from the array list
  x.remove("F");

如果您想了解更多信息,请点击此链接 https://www.tutorialspoint.com/java/java_arraylist_class.htm