Я работаю над проблемой, и мне трудно заставить ее выводить правильную информацию.
Я пытаюсь найти каждое вхождение целевого значения и поместить его в новый массив и выведите индексы целевых значений. Если целевое значение не найдено, возвращается пустой массив. выводит {}
Сейчас я получаю сообщение об ошибке.
findAll():
[I@349b688e
[I@46ed5d9d
java.lang.ArrayIndexOutOfBoundsException
Выходные данные должны быть:
outputs {0, 5}
outputs {}
public class FindIndex(){
public FindIndex() {
int a[] = {7, 8, 9, 9, 8, 7};
System.out.println("findAll(): ");
System.out.println(findAll(a, 7));
System.out.print(findAll(a, 2));
}
public int[] findAll(int a[], int num) {
int indexNum = 0;
int arrSize = 0;
// find all occurrence of the target number
for(int i = 0; i < a.length; i++) {
if(a == num) {
arrSize++;
}
}
// create new array
int newArray[] = new int[arrSize];
for(int i = 0; i < a.length; i++) {
if(a == num) {
newArray[indexNum] = i;
}
}
return newArray;
}
public void print(int a[]) {
System.out.print("{");
int i;
for(i = 0; i < a.length - 1; i++) {
System.out.print(a + ", ");
}
if(a.length > 0) {
System.out.print(a);
}
System.out.print("}\n");
}
}
Подробнее здесь: https://stackoverflow.com/questions/153 ... ew-array-c
Как найти каждое вхождение целевого значения в массиве и вернуть новый массив, содержащий индексы для этих значений? ⇐ JAVA
Программисты JAVA общаются здесь
1730750071
Anonymous
Я работаю над проблемой, и мне трудно заставить ее выводить правильную информацию.
Я пытаюсь найти каждое вхождение целевого значения и поместить его в новый массив и выведите индексы целевых значений. Если целевое значение не найдено, возвращается пустой массив. выводит {}
Сейчас я получаю сообщение об ошибке.
findAll():
[I@349b688e
[I@46ed5d9d
java.lang.ArrayIndexOutOfBoundsException
Выходные данные должны быть:
outputs {0, 5}
outputs {}
public class FindIndex(){
public FindIndex() {
int a[] = {7, 8, 9, 9, 8, 7};
System.out.println("findAll(): ");
System.out.println(findAll(a, 7));
System.out.print(findAll(a, 2));
}
public int[] findAll(int a[], int num) {
int indexNum = 0;
int arrSize = 0;
// find all occurrence of the target number
for(int i = 0; i < a.length; i++) {
if(a[i] == num) {
arrSize++;
}
}
// create new array
int newArray[] = new int[arrSize];
for(int i = 0; i < a.length; i++) {
if(a[i] == num) {
newArray[indexNum] = i;
}
}
return newArray;
}
public void print(int a[]) {
System.out.print("{");
int i;
for(i = 0; i < a.length - 1; i++) {
System.out.print(a[i] + ", ");
}
if(a.length > 0) {
System.out.print(a[i]);
}
System.out.print("}\n");
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/15395235/how-to-find-every-occurrence-of-a-target-value-in-array-and-return-a-new-array-c[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия