Как вы пишете программу для преобразования градусов в радианы из списка в java - PullRequest
0 голосов
/ 10 января 2020

Таким образом, программе необходимо сделать следующее:

Заменить элементы списка углов, указанных в градусах, чтобы преобразовать их в эквивалент радиан, а размер списка останется неизменным.

Это то, что я пробовал до сих пор:

public static void toRadians(List<Double> t) {
    for(int i = 0; i < t.size(); i++) {
        Math.toRadians(t.get(i));

    } 
}

Я застрял, потому что по какой-то причине это не работает.

Ответы [ 3 ]

2 голосов
/ 10 января 2020

Попробуйте сделать это:

public static void toRadians(List<Double> t) {
    for(int i = 0; i < t.size(); i++) {
        t.set(i, Math.toRadians(t.get(i)));
    }
}

Когда вы используете List#get(int index), чтобы получить значение элемента с индексом i. Вы должны использовать метод установки, который является List#set(int index, E element), чтобы присвоить значение элементу с индексом i.

1 голос
/ 11 января 2020

Вы можете использовать replaceAll для преобразования элементов в списке:

public static void toRadians(List<Double> degrees) {
    degrees.replaceAll(Math::toRadians);
}

Или, если вы не хотите изменять исходный список, вы можете использовать map, чтобы создать новый список с преобразованными элементами:

public static List<Double> toRadians(List<Double> degrees) {
    return degrees.stream()
                  .map(Math::toRadians)
                  .collect(Collectors.toList());
}
0 голосов
/ 11 января 2020

Вы можете выполнить задачу, используя это объяснение для использования ListIterator:

public static List<Double> convertToRadians(List<Double> t) {

    for (final ListIterator<Double> iterator = t.listIterator(); iterator.hasNext(); ) {
        final Double element = iterator.next();
        iterator.set(Math.toRadians(element));
    }
    return t;
}

Краткий способ сделать это, используя Java 8+ (но с несколько иным механика) будет:

public static List<Double> convertToRadians(List<Double> t) {

    t.replaceAll(Math::toRadians);
    return t;
}

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

...