我是Java新手,我正在努力理解一些基本概念。例如,在这里,我试图编写一个程序,它将使用Java中的“Random”类生成随机字符串:http://docs.oracle.com/javase/6/docs/api/java/util/Random.html
我注意到该类可以生成随机整数,所以基本上,我的想法是生成随机整数,并将其转换为字符串,如果可能的话。到目前为止,这是我的代码:
package øv2;
import java.util.Random;
public class RandomStringGenerator {
private int randomNumber;
private void setRandomNumber(int randomNumber){
randomNumber = this.randomNumber;
}
private int getRandomNumber(){
return randomNumber;
}
private String generateRandomString(int randomNumber){
int randomString = randomNumber.nextInt();
}
}
我真正想做的是取字段“randomNumber”,然后使用Java类“Random”将其转换为随机数,更具体地说是“nextInt()”方法,然后将其转换为串。但我真的不明白如何在任何地方使用“randomNumber”字段,我甚至需要getter和setter吗?我可以在任何方法中使用“randomNumber”作为参数吗?
抱歉,如果这令人困惑,非常感谢你的时间!
答案 0 :(得分:2)
您已声明了一个字段,但它不是Random类型。它的类型为int。为了能够调用nextInt()
方法,您需要一个Random
类型的对象,因为它是声明nextInt()
的类。
您还需要从方法中返回一些内容(生成的字符串)。
为了能够从其他类调用该方法,您需要将该方法设为public:
public class RandomStringGenerator {
private Random randomNumberGenerator = new Random();
public String generateRandomString() {
int randomNumber = randomNumberGenerator.nextInt();
String randomString = Integer.toString(randomNumber);
return randomString;
}
}
现在,当您需要生成随机字符串时,您只需执行
即可RandomStringGenerator rsg = new RandomStringGenerator();
String s = rsg.generateRandomString();
答案 1 :(得分:0)
我不确定,你究竟想要实现什么,但这可以提供帮助,我在每行末尾添加了评论:
public static void main(String[] args) {
String randomString; //define new String variable
randomString = generateRandomString(); //call method and store returned values into randomString variable
System.out.println(randomString); //printing randomString
}
private static String generateRandomString() {
Random r = new Random(); //You have to create new instance of class Random and name it as you want. I gave it a name "r"
int randomInt = r.nextInt(); //here you generate random number
String randomString = String.valueOf(randomInt); //You generated Integer, but you want String, this transform Integer into String
return randomString; //Now you have random String you can return
}
答案 2 :(得分:0)
您尚未在代码中的任何位置使用java.util.Random
API。您需要创建Random
的实例以生成psedorandom整数序列,您可以将其转换为String
文字。请检查以下代码
Random random = new Random();
String randomIntegerString = random.nextInt() + "";
您的代码将是
private int randomNumber;
//add a Random variable and instantiate
Random random = new Random();
/**
* Method returns a String representation of pseudo random
* number generated based on <code> randomNumber </code>
*/
private String generateRandomString(int randomNumber){
return random.nextInt(randomNumber) + "";
}