Как получить символ из определенной позиции в 2D-массиве и сохранить его в другой переменной?

Например, у меня есть массив

OurTreats[][] BoxOfChocolates = new OurTreats[10][10];

(OurTreats — это созданный мной класс, который содержит массив с числами от 0 до 7)

и я хочу, чтобы символ сохранялся в позиции BoxOfChocolates[2][4] и сохранял этот символ в новой переменной int.

я пробовал это

int character = BoxOfChocolates[2][4];

но это не работает. кто нибудь знает как это сделать?

Обновлено: я получаю сообщение об ошибке «несовместимый тип, OurTreats не может быть преобразован в int».

Код класса OurTreats:

import java.util.*;

public class OurTreats {

    public void OurTreats() {
        OurTreats ot = new OurTreats();
        ot.treatNumbers();
    }

    public int treatNumbers() {
        int treat[] = {0, 1, 2, 3, 4, 5, 6, 7};
        Random rand = new Random();
        int num = rand.nextInt(treat.length);
        return (treat[num]);
    }
}

Это потому, что вы не можете назначить созданный вами класс переменной int, пожалуйста, укажите код класса

Mosius 26.02.2019 05:31

@Mosius, это была ошибка, в моем коде это на самом деле BoxOfChocolates. я предоставлю код

user10693672 26.02.2019 05:32
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
2
75
2

Ответы 2

как насчет:

символ int = BoxOfChocolates[2][4];

OurTreats — это класс, а BoxOfChocolates — это объект или 1 экземпляр вашего класса с загруженными в него данными.

Да, извините, это была ошибка. В моем фактическом коде были BoxOfChocolates[][], а не OurTreats, поэтому он все еще не работает.

user10693672 26.02.2019 05:34

OurTreats — это созданный вами класс, а BoxOfChocolates — объект двумерного массива этого класса. Таким образом, в BoxOfChocolates[i][j] будет храниться один экземпляр класса OurTreats.

Итак, в зависимости от вашего определения класса, я бы посоветовал вам попробовать:

int variable=BoxOfChocolates[2][4].DataMember

DataMember зависит от вашего определения класса, поэтому я дал ему общее имя Обновлено: Увидев определение вашего класса. Что вы, вероятно, хотите сделать, это:

int character=BoxOfChocolates[2][4].treatNumbers();

Поскольку у вас нет явного члена данных, я думаю, что вызов функции сделает то, что вам нужно, хотя я бы посоветовал вам изменить определение вашего класса.

@Bela Я внес изменения в ответ в соответствии с определением вашего класса и надеюсь, что это поможет!

damagedCoda 26.02.2019 08:02

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