В настоящее время я экспериментирую с Java, так как все еще изучаю основы. Мне было интересно, можно ли каким-то образом использовать цикл for с переменными.
В качестве примера возьмем этот код:
public class Var {
public static void main(String[]args) {
int num1 = (int) (Math.random() * 6) + 1;
System.out.println("First dice: " + num1)
int num2 = (int) (Math.random() * 6) + 1;
System.out.println("Second dice: " + num2);
int num3 = (int) (Math.random() * 6) + 1;
System.out.println("Third dice: " + num3);
}
}
Ниже показано, как я представляю код с помощью цикла for.
public class Var {
public static void main(String[]args){
for (int i = 1; i <= 3; i++) {
int num(i) = (int) (Math.random() * 6) + 1; //Here i is the for loop
System.out.println("num(i)");
}
}
}
Здесь, очевидно, есть несколько синтаксических ошибок, но есть ли способ сделать код, подобный этому?
Какие-либо предложения? Спасибо!
Массив позволяет присваивать одно и то же имя переменной переменным, имеющим похожие значения.
В этом случае следует использовать массив ...
Я только что нашел его ... так что вместо num (i) я использую num [i]?
java не позволяет использовать имя динамической переменной, например String num+1;
Вам нужны только массивы, если вы хотите получить доступ к значениям вне цикла. Если вам нужны только значения внутри, вы можете просто сделать int num = (int) (Math.random() * (6)+1;
@Downvoters добавляет комментарий, чтобы объяснить Стар, что он сделал не так и что лучше




int[] accumulator = new int[3]; // create a new array
for (int i = 0; i < 3; i++) { // loop
int num = (int) (Math.random() * (6)+1);
accumulator[i] = num; // assign the random number
System.out.println(accumulator[i]); // print to console
}
Большое спасибо, очень помогли!
Вы можете напечатать 3 случайных числа с небольшими изменениями в вашем цикле:
for (int i = 1; i <= 3; i++) {
int num = (int) (Math.random() * (6)) + 1;
System.out.println(num);
}
или, если вы хотите их сохранить, используйте какой-нибудь array:
int[] array = new int[3];
for (int i = 0; i < 3; i++) {
int num = (int) (Math.random() * (6)) + 1;
array[i] = num;
}
Вы также можете рассмотреть возможность использования класса Random:
import java.util.Random;
public class RandomNumbers {
public static void main(String[] args) {
int [] randomNumbers = new int[3];
for (int i = 0; i < 3; i++) {
int num = new Random().nextInt(6) + 1;
randomNumbers[i] = num;
System.out.println(num);
}
}
}
Узнайте о массивах.