import java.util.Scanner;
class Friendship
{
public static void main (String args[])
{
Scanner a1=new Scanner (System.in);
System.out.println("Enter your name");
String me=a1.nextLine();
System.out.println(" ");
Scanner b1=new Scanner (System.in);
System.out.println("Enter your partners name");
String you=b1.nextLine();
String both=me+you;
String [] names = both.split("\\s+");
for(int ch1=0; ch1<names.length; ch1++)
{
System.out.println(names[ch1] + " ");
}
}
}
这对我不起作用。我想打破字母以及删除单词之间的空格。我在网站上发现了这个,但是当我运行它时,它说“String不能转换成int”。
输入 -
你的名字 - 白雪公主
您的合作伙伴名称 - 费迪南德
Output-
S
n
o
w
W
h
i
t
e
F
e
r
d
i
n
a
n
d
答案 0 :(得分:1)
好吧,如果你必须使用split()
,这是一种非标准的方法:
public static void main(String[] args) {
String s1 = "Snow White";
String s2 = "Ferdinand";
String s= s1+s2;
String[] arr = s.split("(?!\\s)"); // Thanks to Matt for correcting it.
for(String str : arr)
System.out.println(str);
}
O / P:
S
n
o
w
W
h
i
t
e
F
e
r
d
i
n
a
n
d
答案 1 :(得分:0)
Becausde你正在调用的方法,即2个参数
https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#split(java.lang.String,%20int)
其中第二个参数是Item.aggregate(
[{
$group: {
_id: "$_id",
numbers: {
$push: {
$cond: {
if: { $gt: [ "$price.percent", 70 ] },
then: [10,25,50,70] ,
else: null,
}
}
}
}
}]);
听起来你想使用int
修改
基于你的评论,我和你之间没有空格,所以拆分无论如何都不会有效。
答案 2 :(得分:0)
String.split(String)
不会带两个String
个参数。
String [] names = both.split("\\s+");
split
(String.split(String, int)
)的唯一其他版本是编译器尝试使用的内容,而String
不是int
,正如您的错误消息所示。< / p>
根据您上面的评论,为什么不循环me
和you
并跳过任何空白区域,构建临时String
(s)并不是特别有效(特别是如果只是想要再次拆分并显示非空白字符)
for (char ch : me.toCharArray()) {
if (!Character.isWhitespace(ch)) {
System.out.println(ch);
}
}
for (char ch : you.toCharArray()) {
if (!Character.isWhitespace(ch)) {
System.out.println(ch);
}
}
答案 3 :(得分:0)
如果您想使用注册表:
Pattern p = Pattern.compile("\\w");
Matcher m = p.matcher("Snow White");
while(m.find()){
System.out.print(m.group());
}
System.out.println();
这会输出SnowWhite
但每个角色都是分开的。