我看过其他一些标题相同的问题,但这不是相同的问题。我想将数组中包含的字符串本身转换为数组。
所以我有这个:
String str = "hello";
我可以使用以下命令将其转换为字符串数组:
String[] arr = str.split("");
这使 {"h", "e", "l", "l", "o"}
因此,我想将其转换为对象数组,其中每个对象都是一个字符串数组。这样我就可以用调用h[0]
(较早的初始化)System.out.println(h[0])
。
我认为这不是很清楚,因为我不是说英语的人,所以我很乐于加强我的解释。
编辑:例如我初始化
String[] h = {"* *",
"* *",
"*****",
"* *",
"* *"};
和所有其他“字母”,最后我想用
for (int l=0; l<str.lenght(); l++) {
//Do what I explained above which would return the array letter = h (also the array)
for (int s=0; s<5; s++) {
System.out.println(letter[i]);
}
}
输出显示*的char为*的“ hello” char。
如果您要执行的操作是:
String = "hello";
变成这个:
String[] h;
String[] e;
String[] l;
String[] l;
String[] o;
不能做 Java需要在编译期间知道变量的名称,您不能基于一些随机输入来命名新变量。
但是,您可以定义所有可能的字母,然后仅返回所需的字母。像这样的东西:
final String[] LETTER_A = {" * ", " * * ", "*****", "* *", "* *"};
final String[] LETTER_B = {"**** ", "* *", "**** ", "* *", "**** "};
// ...
final String[] LETTER_H = {"* *", "* *", "*****", "* *", "* *"};
// ...
final String[] LETTER_Y = {"* *", " * * ", " * ", " * ", " * "};
final String[] LETTER_Z = {"*****", " * ", " * ", " * ", "*****"};
public void printASCII(String s) {
for (String c : s.toUpperCase().split("")) {
switch(c) {
case "A":
for (int i = 0; i < LETTER_A.length; i++) {
System.out.println(LETTER_A[i]);
}
System.out.println();
break;
case "B":
for (int i = 0; i < LETTER_B.length; i++) {
System.out.println(LETTER_B[i]);
}
System.out.println();
break;
// ...
case "H":
for (int i = 0; i < LETTER_H.length; i++) {
System.out.println(LETTER_H[i]);
}
System.out.println();
break;
// ...
case "Y":
for (int i = 0; i < LETTER_Y.length; i++) {
System.out.println(LETTER_Y[i]);
}
System.out.println();
break;
case "Z":
for (int i = 0; i < LETTER_Z.length; i++) {
System.out.println(LETTER_Z[i]);
}
System.out.println();
break;
}
}
}
输出printASCII("Yahbyz");
:
* *
* *
*
*
*
*
* *
*****
* *
* *
* *
* *
*****
* *
* *
****
* *
****
* *
****
* *
* *
*
*
*
*****
*
*
*
*****
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句