我正在自学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);
}
}
答案 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