【发布时间】:2016-03-08 06:48:42
【问题描述】:
我目前正在尝试学习 java,但我不知道 java 中用于随机生成的所有引用以及长度。我正在尝试将以下 javascript/unityscript 代码翻译成 Java,以便在 android studio 中使用。
原始的 javascript/unityscript(unity 游戏引擎是我制作的)
// 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];
}
}
非常感谢所有帮助!
【问题讨论】:
-
Here 是关于 Random class 的文档。你应该做类似
Random a = new Random(); int num = a.nextInt(characters.length(); -
虽然阅读了文档,'nextInt' 不只是用于整数吗?因为我使用的是字母,所以我认为这行不通。然而,似乎没有其他方法。
-
嗯,如果你制作一个字符数组,然后只访问数字给你的字母?
-
@Matriac 我想通了,我放弃了那个系统,在新系统中我实际上传递了一个整数作为长度,而不是像'characters.length'这样的东西
-
@Matriac 我想通了。我不得不放弃这个系统,我做了一个新的系统,我将一个 int 作为长度传递,而不是像 characters.length 这样的东西,因为 android studio/java 不支持。感谢您的帮助,如果您愿意,可以发表您的评论作为答案,以便我标记它。谢谢!
标签: javascript java android string random