Java 如何逐行打印字母表?
我是一个帮助年轻学生学习编程的学生。其中一些已获得代码:Java 如何逐行打印字母表?,java,arrays,alphabetical,Java,Arrays,Alphabetical,我是一个帮助年轻学生学习编程的学生。其中一些已获得代码: public class student { public static void main(String[] args) { ArrayList<char[]> data1 = new ArrayList<char[]>(); ArrayList<char[]> data2 = createData(); displayData(data2);
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();
}
}
这会给你你想要的结果
第一个高级for是循环遍历ArrayList的每个条目。第二个是循环遍历ArrayList中一个条目内的每个条目。您可以这样编写:
public static void displayData(ArrayList<char[]> values) {
for(char[] s : values){
for(char c : s){
System.out.print(c);
}
System.out.println();
}
}
这会给你你想要的结果
第一个高级for是循环遍历ArrayList的每个条目。第二种方法是循环遍历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();
}
}
你可以单功能完成
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();
}
}
您可以将问题分为两部分: 第1部分-。打印字母表:
private static void printAlphabet(char[] alphabet) {
for(char c : alphabet) {
System.out.print(c);
}
}
第2部分-。使用最后一种方法,您可以在每次打印alphatet时在末尾添加新行来打印所有字母表:
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类型名称通常以大写字母开头。您可以将问题分为两部分: 第1部分-。打印字母表:
private static void printAlphabet(char[] alphabet) {
for(char c : alphabet) {
System.out.print(c);
}
}
第2部分-。使用最后一种方法,您可以在每次打印alphatet时在末尾添加新行来打印所有字母表:
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类型名称通常以大写字母开头。稍有改进
使用列表:
工作:
无清单:
工作:
使用流:
稍加改进
使用列表:
工作:
无清单:
工作:
使用流:
可以采用的一些方法如下: 通过使用增强的for循环: 通过混合使用这两种方法,增强了for循环和基于索引的for循环: 通过使用流API:
可以采用的一些方法如下: 通过使用增强的for循环: 通过混合使用这两种方法,增强了for循环和基于索引的for循环: 通过使用流API: 短的羔羊 短的羔羊
顺便说一句,您可以使用char[][]而不是char数组的ArrayList,因为字母表总是26个字母。ChrisAmwell-如果其中一个答案解决了您的问题,您可以通过将其标记为已接受来帮助社区。公认的答案有助于未来的访问者自信地使用解决方案。检查以了解如何操作。@ChrisAmwell您能接受以下答案之一或解释这些答案不起作用的原因吗?顺便说一句,您可以使用char[][]而不是char数组列表,因为字母表总是26个字母。ChrisAmwell-如果其中一个答案解决了您的问题,您可以通过将社区标记为已接受来帮助社区。公认的答案有助于未来的访问者自信地使用解决方案。检查以了解如何做。@ChrisAmwell您能接受以下答案之一或解释为什么这些答案不起作用吗?
public static void displayData(ArrayList<char[]> values) {
for (char[] arr : values) {
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]);
}
System.out.println();
}
}
public static void displayData(ArrayList<char[]> values) {
for (int i = 0; i < values.size(); i++) {
for (char ch : values.get(i)) {
System.out.print(ch);
}
System.out.println();
}
}
public static void displayData(ArrayList<char[]> values) {
for (char[] arr : values) {
System.out.println(new String(arr));
}
}
public static void displayData(ArrayList<char[]> values) {
values.stream().forEach(arr -> System.out.println(new String(arr)));
}
public void displayData(ArrayList<char[]> values) {
values.stream().forEach( arr -> System.out.println( arr ) );
}