Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.86/29: Рейтинг темы: голосов - 29, средняя оценка - 4.86
 Аватар для Valua
-11 / 4 / 0
Регистрация: 26.01.2018
Сообщений: 199

Вывод индексов элементов массива в обратном порядке с использованием for-each

23.07.2018, 09:15. Показов 6249. Ответов 52
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Люди, кто знает, как исп-я for-each(!) вывести рез-т данного кода в обратном порядке?

Java
1
2
3
4
5
6
7
8
9
class Main{ 
 public static void main(String[] args){ 
  int[] numbers = new int[10]; 
  for (int i : numbers){ 
   numbers[i]++;
 System.out.println(numbers[i]);
}
}
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.07.2018, 09:15
Ответы с готовыми решениями:

Сортировка массива в порядке возрастания и вывод элементов в обратном порядке
нашла на форуме пару примеров, но они не полные и не запускаются, выбрала из них более менее подходящий, дальше было много вариантов но не...

Вывод элементов массива в обратном порядке
Постановка задачи: Заполнить массив а случайными целыми числами из промежутка и вывести в одну строку через запятую: int a = new int; ...

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

52
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7393 / 4820 / 1246
Регистрация: 30.03.2015
Сообщений: 13,703
Записей в блоге: 29
23.07.2018, 13:52
Лучший ответ Сообщение было отмечено Valua как решение

Решение

Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Valua Посмотреть сообщение
Т.е., я прав
если ты понял, что в foreach получаем сразу элементы, ничего не зная о их индексах, а в простом цикле фор получаем элемент по его индексу то да, ты прав
1
 Аватар для Valua
-11 / 4 / 0
Регистрация: 26.01.2018
Сообщений: 199
23.07.2018, 13:59  [ТС]
UPD2: Понял !
for - элементы по индексу;
for-each - просто элементы (индексов нет).
Фуф... наконец то...

А в for-each индексы скрыты или их вообще нет?
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
23.07.2018, 14:01
Цитата Сообщение от Valua Посмотреть сообщение
А в for-each индексы скрыты
что ты имеешь ввиду?
0
 Аватар для Valua
-11 / 4 / 0
Регистрация: 26.01.2018
Сообщений: 199
23.07.2018, 14:06  [ТС]
Т.к., в for-each элемент выводится в консоль без указания его индекса, то, есть ли они - индексы там вообще?..

Ну, типа как итератор в коллекции:

Java
1
2
3
4
5
6
7
8
9
10
11
12
import java.util.*;
class Dcoder{
 public static void main(String[] args){ 
  Set<String> set = new HashSet<String>(); 
  set.add("Рич"); 
  set.add("Сильва"); 
  set.add("Том"); 
  for (String text : set){ 
   System.out.println(text); 
} 
}
}
Вот, его не видно в коде, а на самом деле:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import java.util.*;
class Dcoder{
 public static void main(String[] args){ 
  Set<String> set = new HashSet<String>(); 
  set.add("Рич"); 
  set.add("Сильва"); 
  set.add("Том"); 
  Iterator<String> iterator = set.iterator(); 
  while (iterator.hasNext()){ 
   String text = iterator.next(); 
   System.out.println(text); 
} 
}
}
0
 Аватар для Aviz__
2762 / 2069 / 510
Регистрация: 17.02.2014
Сообщений: 9,507
23.07.2018, 14:24
вот, тебе для размышлений простая, довольно тупая программка. к этой теме
Java
1
2
3
4
5
6
7
8
9
10
public static void main(String[] args) {
        String ss = "wqreedfabfcz";
        char [] charBox = new char[200];
        for (char tmpChar : ss.toCharArray())
            charBox[tmpChar] = 1;
        for (int i = 0; i < charBox.length; i++) {
            if (charBox[i] == 1)
                System.out.print((char)i + " ,");
        }
    }
почему сортирует?
1
 Аватар для Valua
-11 / 4 / 0
Регистрация: 26.01.2018
Сообщений: 199
23.07.2018, 14:38  [ТС]
Не... Вот, с этой строки:

charBox[tmpChar] = 1;

теряю смысл... зачем в массиве символов, присваивать элементу целочисленное значение? И вообще, зачем здесь два массива?..
0
 Аватар для Aviz__
2762 / 2069 / 510
Регистрация: 17.02.2014
Сообщений: 9,507
23.07.2018, 14:49
жаль, что ты так рано сдаешься(( дебагер и голова все, что нужно для этой простоты.
0
 Аватар для Valua
-11 / 4 / 0
Регистрация: 26.01.2018
Сообщений: 199
23.07.2018, 14:56  [ТС]
Я не сдаюсь. Просто надо подумать.
0
37 / 35 / 9
Регистрация: 13.02.2017
Сообщений: 205
23.07.2018, 14:56
Цитата Сообщение от Aviz__ Посмотреть сообщение
почему сортирует?
сначала написал, а теперь не знаю как удалить ))) поэтому правка

а зачем дебаггер?
0
 Аватар для Aviz__
2762 / 2069 / 510
Регистрация: 17.02.2014
Сообщений: 9,507
23.07.2018, 15:05
Цитата Сообщение от alexjun Посмотреть сообщение
а зачем дебаггер?
чтобы видеть, куда и как, что-то кладется/берется)) и спрашивать себя, "почему так, а не иначе".
0
37 / 35 / 9
Регистрация: 13.02.2017
Сообщений: 205
23.07.2018, 15:07
Цитата Сообщение от Aviz__ Посмотреть сообщение
чтобы видеть, куда и как, что-то кладется/берется)) и спрашивать себя, "почему так, а не иначе".

Аааа... ну здесь и без дебаггера не сложно разобраться. вся программа перед лицом. можно пальцем поводить куда что зачем...

У меня нет возможности щас запустить код. Я ведь правильно понимаю, что двойные символы исчезнут? в результате он только по одному разу выведет. Он ведь будет несколько раз одному и тому же элементу единицу присваивать
0
 Аватар для Valua
-11 / 4 / 0
Регистрация: 26.01.2018
Сообщений: 199
23.07.2018, 15:42  [ТС]
Цитата Сообщение от alexjun Посмотреть сообщение
Аааа... ну здесь и без дебаггера не сложно разобраться. вся программа перед лицом. можно пальцем поводить куда что зачем...

У меня нет возможности щас запустить код. Я ведь правильно понимаю, что двойные символы исчезнут? в результате он только по одному разу выведет. Он ведь будет несколько раз одному и тому же элементу единицу присваивать
Если бы... мне, вот, не понятно. Я не сдаюсь, но голова уже болит. Объясните так, пожалуйста, построчно:
// создали и проинициализировали строчный объект;
// создали символьный массив на 200 элементов;
// перебрали элементы массива - преобразованную в символы строку, с помощью цикла for-each;
// проинициализировали элемент массива символов - целочисленным значением (зачем? и почему вне блока for???)

я запутался...
0
37 / 35 / 9
Регистрация: 13.02.2017
Сообщений: 205
23.07.2018, 15:51
Цитата Сообщение от Valua Посмотреть сообщение
// проинициализировали элемент массива символов - целочисленным значением (зачем? и почему вне блока for???)
1. Что из себя представляет char? (это про целочисленные)
2.
Java
1
for (char tmpChar : ss.toCharArray())  charBox[tmpChar] = 1;
вот такая запись более понятна? (это про "вне блока for")
0
 Аватар для Valua
-11 / 4 / 0
Регистрация: 26.01.2018
Сообщений: 199
23.07.2018, 16:00  [ТС]
Неа...
Такой вид приведения элемента по индексу (charBox[tmpChar]) имеет for. А перед нами for-each.
А можно в двух словах - ф-ция 1-го массива и ф-ция 2-го?
0
37 / 35 / 9
Регистрация: 13.02.2017
Сообщений: 205
23.07.2018, 16:06
Посмотрите, какой массив перебирается в форэче, и с элементом какого массива проводится приравнивание к единице

Добавлено через 1 минуту
Цитата Сообщение от Valua Посмотреть сообщение
Такой вид приведения элемента по индексу (charBox[tmpChar]) имеет
Такой вид имеет не цикл. Такой вид имеет любое обращение к элементу массива.
mass[index]=1;

Добавлено через 53 секунды
Цитата Сообщение от Valua Посмотреть сообщение
А можно в двух словах - ф-ция 1-го массива и ф-ция 2-го?
В этом и прелесть примера. Если вам сейчас ответить, то это так и останется...
0
 Аватар для Valua
-11 / 4 / 0
Регистрация: 26.01.2018
Сообщений: 199
23.07.2018, 17:41  [ТС]
Так... понятно... бунтовать?! У вас на киберфоруме суициды были уже?..

Добавлено через 45 минут
Форич перебирает символы - ок
Фор - целые числа - ок
В выводе в консоль - явное приведение: (char)i - ок

Для чего charBox[tmpChar] = 1; - хз
Что происходит в скобках условия if (charBox[i] == 1) - хз

А можно через какое то время (завтра?) получить ответ?

Добавлено через 37 минут
charBox[tmpChar] = 1; - присваивание каждому элементу массива значения 1, т.е., у нас в массиве char двести единц, переданных ссылке charBox. Инициализация элементов необходима для итерации массива в for.
Правильно?

Осталось понять, что происходит в условии if...
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
23.07.2018, 17:53
Valua, эммм...

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package ru.ismoke;
 
public class Cyber {
 
    public static void main(String[] args) {
        String ss = "qwerty";
        char[] charBox = new char[200];
 
        for (char tmpChar : ss.toCharArray()) { // перебираем посимвольно массив символов, полученный из строки ss
            charBox[tmpChar] = 1;               // устанавливаем в элемент массива charBox с номером символа единицу
            // для примера - встретился символ 'z' - записывается 1 в элемент charBox[122]
            // по сути - единица это просто флаг
        }
 
        for (int i = 0; i < charBox.length; i++) {  // перебираем
            if (charBox[i] == 1)                    // если встретился "помеченый" элемент, выводим в консоль символ
                                                    // "под этим номером"
                // т.к. массив перебирается от 0, то и символы выведуться именно так, как они стоят в таблице ASCII
                // т.е. отсортированные 
                System.out.print((char) i + " ,");
        }
    }
}
1
 Аватар для Aviz__
2762 / 2069 / 510
Регистрация: 17.02.2014
Сообщений: 9,507
23.07.2018, 17:56
Цитата Сообщение от Valua Посмотреть сообщение
получить ответ?
нет, это будет маркер, как сможешь понять, значит разобрался в индексах))

Добавлено через 3 минуты
iSmokeJC, буду надеяться, что он не понял твоего подробного объяснения.
0
 Аватар для Valua
-11 / 4 / 0
Регистрация: 26.01.2018
Сообщений: 199
23.07.2018, 18:28  [ТС]
Не, ну так тоже нельзя.. Я уже часов 6 бьюсь. Надо подталкивать иногда..

Upd: буду надеяться, что он не понял твоего подробного объяснения.
Я, конечно, тупой, но не до такой же степени...

iSmokeJC СПАСИБО !
0
 Аватар для Aviz__
2762 / 2069 / 510
Регистрация: 17.02.2014
Сообщений: 9,507
23.07.2018, 18:29
Цитата Сообщение от Valua Посмотреть сообщение
уже часов 6

Не по теме:

Стив Джобс, что говорил про часы?

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.07.2018, 18:29

Вывод элементов массива в обратном порядке
Дайте подсказку как вывести элементы массива наоборот, я уже всю голову поломал,ну хоть намекните. #include &lt;windows.h&gt; ...

Рекурсия (вычисление суммы, вывод элементов одномерного массива в обратном порядке)
Я хочу реализовать рекурсивные функции:1)вычисления суммы k первых членов арифметической прогрессии. 2)вывода в консоль элементов...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru