Nano Hash - криптовалюты, майнинг, программирование

Распечатать каждое число из многомерного массива без запятой после последнего числа?

Я пытаюсь выяснить, как отображать каждое число из одной и той же «строки» многомерного массива в строке сигл, с запятой, чтобы разделить их.

Вот как я объявил многомерный массив

int[][] grid = {
            {1, 2, 3},
            {4},
            {5, 6},
            {123, 4567, 78901, 234567}
    };

Это цикл, который я использую для отображения каждой «строки» в отдельной строке с запятыми между ними:

for(int[] row: grid){
        for(int col: row){
            System.out.print(col + ", ");
        }
        System.out.println();
    }

Альтернативно:

for(int row = 0; row < grid.length; row++){
        for(int col = 0; col < grid[row].length; col++){
            System.out.print(grid[row][col] + ", ");
        }
        System.out.println();
    }

Все работает нормально, но последнее число из каждой "строки" тоже получает запятую, результат:

1, 2, 3, 
4, 
5, 6, 
123, 4567, 78901, 234567,

Как сделать так, чтобы на последнем номере не ставилась запятая?

13.05.2016

  • Печатайте запятую, только если col < grid[row].length -1 13.05.2016
  • Быстро: System.out.print((col>0?", ":"") + grid[row][col]); (возможны лучшие варианты) 13.05.2016

Ответы:


1

Достаточно просто и легко вы можете:

for(String s : Arrays.deepToString(grid).split("(?<=]), "))
{
    System.out.println(s.replaceAll("[\\]\\[]",""));
}

Здесь:

  • Arrays.deepToString вернет массив как строку.
  • .split("(?<=]), ") разделит его там, где заканчиваются одномерные массивы (в grid).
  • s.replaceAll("[\\]\\[]","") удалит все [ и ], которые присутствуют в строке, возвращаемой Arrays.deepToString
13.05.2016
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..