将短语拆分为多维字符数组
Split a phrase into multidimesional array of characters
我有一个包含用户输入的短语的字符串:
import java.util.Scanner;
public class eldertonguetranslator
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
String inputtext;
System.out.println("Enter you text: ");
inputtext = sc.nextLine();
}
}
现在该字符串的示例值为:
lorem ipsum
我将如何将该字符串的每个单词放入一个单独的字符数组中?
那就是这样的:
char[][] splittext = { {l, o , r, e, m}, {i, p, s, u, m} };
请记住,短语中的单词数以及该单词中的字母数每次都会改变。
非常感谢大家的帮助!
试试这个:
char[][] wordsAsChars = Arrays.stream(str.split(" "))
.map(String::toCharArray)
.toArray(char[][]::new);
这个 streams 通过在 space 上拆分输入找到的单词,将每个单词转换为其 char[]
等价物,然后将 char[]
收集到 char[][]
.
String#split()
接受 regex(在本例中只是一个普通的 space 字符)和 returns String[]
。
Arrays.stream()
流式传输数组的元素。
过程的逆过程,即取 char[][]
并产生一个句子,是:
String sentence = Arrays.stream(wordsAsChars)
.map(String::new)
.collect(Collectors.joining(" "));
.map(String::new)
调用 String(char[] value)
构造函数。
joining(" ")
连接 String
流的所有元素,用 space
分隔它们
我有一个包含用户输入的短语的字符串:
import java.util.Scanner;
public class eldertonguetranslator
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
String inputtext;
System.out.println("Enter you text: ");
inputtext = sc.nextLine();
}
}
现在该字符串的示例值为:
lorem ipsum
我将如何将该字符串的每个单词放入一个单独的字符数组中?
那就是这样的:
char[][] splittext = { {l, o , r, e, m}, {i, p, s, u, m} };
请记住,短语中的单词数以及该单词中的字母数每次都会改变。
非常感谢大家的帮助!
试试这个:
char[][] wordsAsChars = Arrays.stream(str.split(" "))
.map(String::toCharArray)
.toArray(char[][]::new);
这个 streams 通过在 space 上拆分输入找到的单词,将每个单词转换为其 char[]
等价物,然后将 char[]
收集到 char[][]
.
String#split()
接受 regex(在本例中只是一个普通的 space 字符)和 returns String[]
。
Arrays.stream()
流式传输数组的元素。
过程的逆过程,即取 char[][]
并产生一个句子,是:
String sentence = Arrays.stream(wordsAsChars)
.map(String::new)
.collect(Collectors.joining(" "));
.map(String::new)
调用 String(char[] value)
构造函数。
joining(" ")
连接 String
流的所有元素,用 space