Поле со случайным значением int
Я пишу программу, которая имитирует простые операции с банковским счетом, и мне было интересно, как это сделать, чтобы, если я создаю новую учетную запись без каких-либо параметров, она получала случайный 7-значный идентификационный номер, который отображается в виде строки. Как я делаю, я получаю только java.util.Random@2a0364ef на выходе. Будем рады любой помощи и дополнительным комментариям по этому вопросу, так как это первый вопрос, который я разместил на этом сайте.
import java.util.Random;
class Account {
String id;
double stan;
int num;
static int counter;
public Account() {
**id = randomId().toString();**
stan = 0;
num = ++counter;
}
public Account(String id) {
this.id = id;
stan = 0;
num = ++counter;
}
public Account(String id, double mon) {
stan = 0;
this.id = id;
this.stan = mon;
num = ++counter;
}
**static String randomId() {
Random rand = new Random(7);
return String.valueOf(rand);**
}
String getId() {
return id;
}
double getStan() {
return stan;
}
int getNum() {
return num;
}
@Override
public String toString() {
return "Account's id " + getId() + " and balance " + getStan();
}
}
public class Exc7 {
public static void main(String[] args) {
Account account = new Account("0000001"),
acount0 = new Account("0000002", 1000),
acount1 = new Account();
System.out.println(account + "\n" + account0 + "\n" + account1);
}
}
3 ответа
Используйте этот код:
Random rand = new Random(7);
return String.valueOf(Math.abs(rand.nextInt()));
Прямо сейчас вы представляете Random
пример.
Вместо печати String
представление математического абсолюта следующего int
из ваших случайных будет делать свое дело.
Math.abs
часть важна, иначе у вас могут быть отрицательные числа.
+ Изменить return String.valueOf(rand);
к
return String.valueOf(rand.nextInt());
Причина:
Вы передаете случайный объект valueOf
метод, а не значение, которое вам нужно. Вызов nextInt()
метод, чтобы получить желаемое случайное значение.
Использование
return String.valueOf(rand.nextInt());
в противном случае вы получите строковое представление Random
объект, а не случайный int
что он может произвести.