Как сохранить / распечатать элемент массива? - PullRequest
0 голосов
/ 19 июня 2020

Я пишу код java для хранения и печати чисел, разделенных пробелом, в одну строку кода. Я придумал, как их разделить и хранить в аррайлисте. Однако я не могу понять, как сохранить или распечатать один элемент массива. Я пробовал использовать метод indexOf, но у меня он пока не работает.

любая помощь приветствуется !!

import java.util.ArrayList;
import java.util.Scanner;
public class r
{
    public static void main(String[]args)
    {
     Scanner in = new Scanner(System.in);
     String sampleString = in.nextLine();
     String[] stringArrays = sampleString.split("\\s+");

     int[] intArray = new int[stringArrays.length];
     int i;
     for(i=0;i<stringArrays.length;i++)
     {
         String numberAsString = stringArrays[i];
         intArray[i] = Integer.parseInt(numberAsString);
     }
     System.out.print(intArray.indexOf(1));

}

Ответы [ 2 ]

1 голос
/ 19 июня 2020

indexOf - это строковый метод, который может использоваться для получения позиции символов в строках, это не имеет ничего общего с массивами. Правильный синтаксис, который вы использовали бы для доступа к определенным объектам в массиве, - это метод скобок. Например, у вас есть массив из десяти целых чисел с именем example.

int[] example = new int[10];

Вы можете получить доступ к целым числам внутри массива, указав нужный индекс. Чтобы получить первый элемент, вам нужно будет вызвать

example[0]

и так далее для каждого элемента в массиве. Помните, что массивы имеют нулевой индекс

Удачи!

0 голосов
/ 19 июня 2020

вы можете использовать java 8 API: stream (), map (), collect ()

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class MyClass{
    public static void main(String[] args) {

        List<Integer> myList = Arrays.stream(args)
                .map(Integer::new)
                .collect(Collectors.toList());

        printAll(myList);
        printSpecificElement(myList, myList.indexOf(5));
    }

    static void printAll(List<Integer> arr) {
         Arrays.asList(arr)
            .stream()
            .forEach(System.out::println);
    }

   static void printSpecificElement(List<Integer> arr, int index) {
        System.out.println(arr.get(index));
    }
}
...