Java umgekehrt ohne Datenstrukturen und OOP [geschlossen]Java

Java-Forum
Anonymous
 Java umgekehrt ohne Datenstrukturen und OOP [geschlossen]

Post by Anonymous »

Java 8 < /p>
schreibe ich im Allgemeinen Code mit funktionaler Programmierung, der Code sollte das tun, was in Main () beabsichtigt ist (). Die Essenz lautet: Keine Datenstrukturen, kein OOP ( Verbraucher und Sequenz ausschließen - obwohl es mir in dieser Aufgabe ohne sie ohne Zyklen verzichten kann. /p>

"Lösen Sie mit Funktionen, Skalaren, wenn Ihre Lösung einen Wert erfordert, der weder ein Skalar noch eine Funktion ist - es ist falsch. Neues
Operator - es ist falsch. Falsch "< /p>
< /blockquote>
Ich habe den folgenden Code geschrieben und Probleme in Lambdas gestellt - ich verstehe nicht Tatsache, dass die Variable endgültig sein muss.import java.util.function.Consumer;
import java.util.function.Function;

public class Main {

public static void main(String[] args) {
Sequence numbers = range(10);
numbers = map(numbers, n -> n + 1);
numbers = reverse(numbers);
foreach(numbers, System.out::println);
}

public static Sequence range(int n) {
return c -> {
if (n > 0) {
range(n - 1).apply(c);
c.accept(n - 1);
}
};
}

public static Sequence map(Sequence seq, Function f) {
return apply -> foreach(seq, x -> apply.accept(f.apply(x)));
}

public static Sequence reverse(Sequence seq) {
return apply -> {
int count = 0;
foreach(seq, x -> count++);
for (int i = count - 1; i >= 0; i--) {
foreach(seq, x -> {
if (x.equals(i + 1)) {
apply.accept(x);
}
});
}
};
}

public static void foreach(Sequence seq, Consumer c) {
seq.apply(c);
}

@FunctionalInterface
public interface Sequence {
void apply(Consumer c);
}
}
< /code>

Main.java:28: error: local variables referenced from a lambda expression must be final or effectively final
foreach(seq, x -> count++);
^
Main.java:31: error: local variables referenced from a lambda expression must be final or effectively final
if (x.equals(i + 1)) {
< /code>
How can reverse be implemented in a different way to circumvent this limitation (possibly with a change in the implementation of other functions)?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post