package org.me.mylib;public class LibClass {
public static String acrostic(String[] args) {
StringBuffer b = new StringBuffer();
for (int i = 0; i < args.length; i++) {
if (args[i].length() > i) {
b.append(args[i].charAt(i));
} else {
b.append('?');
}
}
return b.toString();
}
}package acrostic;import org.me.mylib.LibClass;public class Main { /**
* @param args the command line arguments
*/
public static void main(String[] args) {
String result = LibClass.acrostic(args);
System.out.println("Result =" + result);
}}运行结果为: Result =Hello我只提供了一个参数:However we all feel zealous
为什么结果是 Hello 呢?
public static String acrostic(String[] args) {
StringBuffer b = new StringBuffer();
for (int i = 0; i < args.length; i++) {
if (args[i].length() > i) {
b.append(args[i].charAt(i));
} else {
b.append('?');
}
}
return b.toString();
}
}package acrostic;import org.me.mylib.LibClass;public class Main { /**
* @param args the command line arguments
*/
public static void main(String[] args) {
String result = LibClass.acrostic(args);
System.out.println("Result =" + result);
}}运行结果为: Result =Hello我只提供了一个参数:However we all feel zealous
为什么结果是 Hello 呢?
这个就是一个长度为5的String数组了
明显的if (args[i].length() > i) {
b.append(args[i].charAt(i));
根据for循环第一次i为1所以charAt的h
i=1时 charAt是e即we的第二个字母
i=2时 charAt是l即all的第三个字母
i=3时 charAt是l即feel的第四个字母
i=4时 charAt是o即zealous的第四个字母
所以是hello
明显的if (args[i].length() > i) {
b.append(args[i].charAt(i));
根据for循环第一次i为1所以charAt的h
i=1时 charAt是e即we的第二个字母
i=2时 charAt是l即all的第三个字母
i=3时 charAt是l即feel的第四个字母
i=4时 charAt是o即zealous的第四个字母
所以是hello