我是一名帮助年轻学生学习编程的学生。其中一些已被赋予代码:
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()方法中遇到了麻烦。
感谢您的帮助,在此先感谢您!
您可以这样写:
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项之一内的每个项。
您可以单功能完成
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();
}
}
您可以将问题分为两部分:
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类型名称通常以大写字母开头。
一点点改进
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());
}
}
}