Та же переменная, другое имя

В настоящее время я экспериментирую с 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)");
     }
  }
}

Здесь, очевидно, есть несколько синтаксических ошибок, но есть ли способ сделать код, подобный этому?

Какие-либо предложения? Спасибо!

Узнайте о массивах.

Lone_Coder 08.06.2018 15:37

Массив позволяет присваивать одно и то же имя переменной переменным, имеющим похожие значения.

Lone_Coder 08.06.2018 15:38

В этом случае следует использовать массив ...

Dalton Cézane 08.06.2018 15:38

Я только что нашел его ... так что вместо num (i) я использую num [i]?

Star 08.06.2018 15:39

java не позволяет использовать имя динамической переменной, например String num+1;

jhamon 08.06.2018 15:42

Вам нужны только массивы, если вы хотите получить доступ к значениям вне цикла. Если вам нужны только значения внутри, вы можете просто сделать int num = (int) (Math.random() * (6)+1;

XtremeBaumer 08.06.2018 15:43

@Downvoters добавляет комментарий, чтобы объяснить Стар, что он сделал не так и что лучше

vincrichaud 08.06.2018 15:49
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
4
7
121
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Вы ищете синтаксис массива:

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
}

Большое спасибо, очень помогли!

Star 08.06.2018 15:42

Вы можете напечатать 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);
        }
    }
}

Другие вопросы по теме