Я пишу программу, которая имитирует простую деятельность банковского счета, и мне было интересно, как это сделать, чтобы, если я создаю новую учетную запись без каких-либо параметров, она получает случайный идентификационный номер 7digit, который отображается как Строка. Как я это делаю, я получаю только [email protected] в выводе. С нетерпением ждем любой справки и дополнительных комментариев по этому вопросу, так как это первый, который я опубликовал на этом сайте.Поле со случайным значением int
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);
}
}
Во-первых, спасибо. Во-вторых, я также ошибся предположить, что, если я поместил 7 в Random, он даст мне число с семью цифрами. Должен ли я просто положить 9999999 для получения номера в этом диапазоне или сделать это по-другому? – Konrad
@ Konrad добро пожаловать! Честно говоря, я был отвлечен и обманут конструктором «Случайный»: действительно, он не определяет количество цифр, а скорее случайное семя. Вы можете запустить [здесь] (http://stackoverflow.com/questions/5392693/java-random-number-with-given-length) для определенного количества цифр - иначе просто усечь свой 'String'. – Mena