如何逐行打印字母?

问题描述 投票:0回答:4

我是一名帮助年轻学生学习编程的学生。其中一些已被赋予代码:

public class student {
    public static void main(String[] args) {
        ArrayList<char[]> data1 = new ArrayList<char[]>();
        ArrayList<char[]> data2 = createData();
        displayData(data2);
    }

    public static ArrayList<char[]> createData(){
        ArrayList<char[]> res = new ArrayList<char[]>();
        for(int index = 'A'; index<='Z'; index++) {
            char[] temp = new char[1+(index - 'A')];
            for(int count=0;count<temp.length;count++) {
                temp[count] = (char) ('A' + count);
            }
            res.add(temp);
        }
        return res;
    }

    public static void displayData(ArrayList<char[]> values) {

    }

这是为了打印出像这样的字母:

A

AB

ABC

等但是我自己在displayData()方法中遇到了麻烦。

感谢您的帮助,在此先感谢您!

java arrays alphabetical
4个回答
2
投票

您可以这样写:

public static void displayData(ArrayList<char[]> values) {
     for(char[] s : values){
        for(char c : s){
            System.out.print(c);
        }
        System.out.println();
    }
}

这应该给您您想要的结果。

这是第一个高级工具,它遍历ArrayList的每个条目。第二个for循环遍历ArrayList项之一内的每个项。


1
投票

您可以单功能完成

public static void displayData() {
        int start = 'A';
        int finish = 'Z';
        for (int i = start ; i < finish; i++){
            for (int j = start ; j <= i; j++) {
                System.out.print((char)j);
            }
            System.out.println();
        }
    }

0
投票

您可以将问题分为两部分:

Part 1-。打印字母:

private static void printAlphabet(char[] alphabet) {

        for(char c : alphabet) {
            System.out.print(c);
        }

}

Part 2-。使用最后一种方法,您可以打印所有字母,每次打印字母后都在末尾添加新行:

public static void displayData(ArrayList<char[]> values) {

         for (char[] alphabet: values) {
             printAlphabet(alphabet);
             System.out.println();
         }

}

奖金:您可以使用流和功能编程:

public static void displayDataFunctional(ArrayList<char[]> values) {

         values.stream().forEach((alphabet) -> printAlphabet(alphabet));

}

建议:按照惯例,Java类型名称通常以大写字母开头。


0
投票

一点点改进

public class Student {
    public static void main(String[] args) {
        print((int) 'A', (int) 'Z');
    }

    public static void print(int min, int max) {
        for (int i = 0; i <= max - min; i++) {
            StringBuilder s = new StringBuilder();
            for (int j = min; j <= min + i; j++) {
                s.append(Character.toString((char) j));
            }
            System.out.println(s.toString());
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.