Cześć, czy ktoś może podpowiedzieć, jak przekazać stos z class Writer
do class Splitter
bez dziedziczenia?
package com;
import java.util.*;
public class Main {
public static void main(String[] args) {
//Writer writer = new Writer();
//writer.generateStrings();
Splitter filter = new Splitter(10);
filter.split();
filter.print();
}
}
class Writer {
private static final Random random = new Random();
private Deque<String> charakterString;
private int loopLaps;
public Writer(int loopLaps) {
this.loopLaps = loopLaps;
charakterString = new ArrayDeque<>();
}
public Deque<String> generateStrings() {
char sign = 'a';
for (int i = 0; i < 10; i++) {
String string = "";
int charRandom = random.nextInt(50) + 1;
for (int j = 0; j < charRandom; j++) {
string = string + sign;
}
charakterString.push(string);
}
return charakterString;
}
}
class Splitter extends Writer {
private List<String> evenList = new ArrayList<>();
private List<String> oddList = new ArrayList<>();
public Splitter(int loopLaps) {
super(loopLaps);
}
public void split() {
Deque<String> stringDeque = generateStrings();
while (!stringDeque.isEmpty()) {
double modulo = (double) stringDeque.peek().length() % 2;
if (modulo == 0) {
evenList.add(stringDeque.pop());
}
if (modulo > 0) {
oddList.add(stringDeque.pop());
}
}
}
public void print() {
int i = 0;
for (String item : evenList) {
i++;
System.out.println("numer iteracji: " + i + " - " + item + " Długość znaków - " + item.length());
}
System.out.println();
int j = 0;
for (String item : oddList) {
j++;
System.out.println("numer iteracji: " + j + " - " + item + " Długość znaków - " + item.length());
}
}
}