Я хотел бы знать, как я мог бы получить случайное целое число между Integer.MIN_VALUE и Integer.MAX_VALUE. Я сделал это попробовать:Случайные целые числа - как положительные, так и отрицательные
int min = Integer.MIN_VALUE;
int max = Integer.MAX_VALUE;
Random rand = new Random();
StartVärde = rand.nextInt(max - min + 1) + min;
Пожалуйста, обратите внимание, что я импортировал java.util.Random и «StartVärde» это просто переменная я создал. Теперь код выше выдает следующее сообщение об ошибке:
Exception in thread "main" java.lang.IllegalArgumentException: n must be positive
at java.util.Random.nextInt(Random.java:265)
at Räknare.<init>(Räknare.java:28)
at Räknare_Main.main(Räknare_Main.java:5)
возможного дубликата [Выбрать случайное целое число в диапазоне больше, чем Integer.MAX \ _value?] (HTTP: // StackOverflow. com/questions/10773617/select-random-integer-in-a-range-more-than-integer-max-value) –
См. ответы ниже. Кроме того, причина в том, что max-min не вписывается в целое число и поэтому не может быть передан nextInt. Используйте nextLong(), если вы хотите что-то с большим диапазоном. – Nicholaz
Кроме того, вы можете столкнуться с проблемами со специальными символами в именах переменных. Если бы я был вами, я бы переименовал 'StartVärde' в' startVaerde' (нижний регистр из-за соглашений об именах Java). – jlordo