"Auto increment" Alphabet in Java - ist das möglich? Von A bis Z ohne eine Drittanbieter-Bibliothek?
Antworten
Zu viele Anzeigen?
sdornan
Punkte
2625
Massimiliano Giunchi
Punkte
71
Dies ist meine Lösung, nur ein wenig komplizierter als andere Beispiele oben, aber erweiterbar für andere Iterationen (verwendet Muster-Iterator):
class Alphabet implements Iterable<String>{
private char start;
private char end;
public Alphabet(char start, char end) {
this.start=start;
this.end=end;
}
@Override
public Iterator<String> iterator() {
return new AlphabetIterator(start, end);
}
class AlphabetIterator implements Iterator<String>{
private String current;
private String end;
private AlphabetIterator(char start, char end) {
this.current=String.valueOf(--start);
this.end=String.valueOf(end);
}
@Override
public boolean hasNext() {
return (current.charAt(0) < end.charAt(0));
}
@Override
public String next() {
char nextChar = current.charAt(0);
return this.current=String.valueOf(++nextChar);
}
}
public static void main (String[] arg){
for (String str:new Alphabet('B', 'Y')){
System.out.print(str+" ");
}
}
}
Ausgabe: B C D E F G H I J K L M N O P Q R S T U V W X Y
raja
Punkte
2343
EngineerCoding
Punkte
1
- See previous answers
- Weitere Antworten anzeigen