我目前正在尝试学习Java,但是我不知道Java中用于随机生成以及长度的所有引用。我正在尝试将以下javascript / unityscript代码转换为Java,以便在android studio中使用。
原始的javascript / unityscript(我使用联合游戏引擎)
// Javascript example follows
var characters : String = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var code : String = "";
var code1 : String = "";
var code2 : String = "";
var codet : String = "";
var codet1 : String = "";
var gui_result : UI.Text;
function Generate () {
var code : String = "";
var code1 : String = "";
var code2 : String = "";
var codet : String = "";
var codet1 : String = "";
for (var i : int = 0; i < 5; i++) {
var a : int = Random.Range(0, characters.length);
code = code + characters[a];
}
for (var o : int = 0; o < 5; o++) {
var s : int = Random.Range(0, characters.length);
code1 = code1 + characters[s];
codet = code1 + " - " + code;
}
for (var p : int = 0; p < 5; p++) {
var d : int = Random.Range(0, characters.length);
code2 = code2 + characters[d];
codet1 = codet + " - " + code2;
gui_result.text = codet1;
}
}
我知道代码制作得很差,但是我理解它是因为我将代码布置为简单且效率不高。
这是我尝试使用Java代码的尝试,但是我完全迷失了在哪里定义变量以及如何通过按钮调用所需的函数。最好是有人可以像上面一样简单地进行布局,所以我了解。
Java尝试但失败
public void generate(View view) {
String characters = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
String code = "";
String code1 = "";
String code2 = "";
String codet = "";
String codet1 = "";
for (int i = 0; i < 5; i++){
int a = new Random(0, characters.length());
code = code + characters[a];
}
}
非常感谢所有帮助!
最佳答案
你可以这样做 :
Random a = new Random();
int num = a.nextInt(lenghth);
并使用它给您的编号访问您的字符数组。