“Auto increment” alphabet in Java?

后端 未结 10 2185
情书的邮戳
情书的邮戳 2020-12-02 16:53

\"Auto increment\" alphabet in Java - is this possible? From A to Z without a third-party library?

10条回答
  •  误落风尘
    2020-12-02 17:35

    This is my solutions, just a little more complicated than other examples above, but extendible for other iterations (used pattern iterator):

    class Alphabet implements Iterable{
    
        private char start;
        private char end;
    
        public Alphabet(char start, char end) {
            this.start=start;
            this.end=end;
        }
    
        @Override
        public Iterator iterator() {
            return new AlphabetIterator(start, end);
        }
    
        class AlphabetIterator implements Iterator{
    
            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+" ");
            }
        }
    }
    

    Output: B C D E F G H I J K L M N O P Q R S T U V W X Y

提交回复
热议问题