努力了解如何在方法中使用字段

时间:2014-03-24 12:09:26

标签: java random field

我是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”作为参数吗?

抱歉,如果这令人困惑,非常感谢你的时间!

3 个答案:

答案 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) + "";
}