我已经看到了一些具有相同标题的其他问题,但这不是同一个问题。 我想将数组中包含的字符串转换为数组本身。
所以我得到了这个:
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]);
}
}
输出显示*的字符“* hello”char *。
答案 0 :(得分:0)
我试图在这里读你的想法,但是:
char S[][] = new char[20][];
S[0] = "hello".toCharArray();
S[1] = "anotherstring".toCharArray();
...
S[19] = "".toCharArray();
System.out.println( S[0][0] ); //h
System.out.println( S[1][5] ); //e
System.out.println( S.length ); //20, we have room for 20 strings
System.out.println( S[19].length ); //0 because string S[19] is empty
System.out.println( String.valueOf(S[0]) ); //hello
System.out.println( S[19][0] ); //error because string is empty
或者你可以有一个简单的字符串数组(String[]
)并使用函数charAt(i)
访问单个字符
答案 1 :(得分:0)
如果您想要做的是转过来:
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");
的输出:
* *
* *
*
*
*
*
* *
*****
* *
* *
* *
* *
*****
* *
* *
****
* *
****
* *
****
* *
* *
*
*
*
*****
*
*
*
*****