关于split()方法

想编写段代码,功能为:由用户输入一条语句,程序以该语句当中的空格为分割点,分割成为若干段,并分别存入几个变量中。用split()方法写了如下代码,但运行结果不正确,请高手... 想编写段代码,功能为:由用户输入一条语句,程序以该语句当中的空格为分割点,分割成为若干段,并分别存入几个变量中。用split()方法写了如下代码,但运行结果不正确,请高手指点修改

代码如下:
String command=null;
String[] word=new String[3];
Scanner input=new Scanner(System.in);
command=input.next();
word=command.split(" ",3);
for(String w:word){
System.out.println(w);
}
展开
 我来答
匿名用户
推荐于2017-09-16
展开全部

  定义和用法:

  split() 方法用于把一个字符串分割成字符串数组。

  语法:

  stringObject.split(separator,howmany)

  返回值:

  一个字符串数组。该数组是通过在 separator 指定的边界处将字符串 stringObject 分割成子串创建的。返回的数组中的字串不包括separator 自身。

  但是,如果 separator 是包含子表达式的正则表达式,那么返回的数组中包括与这些子表达式匹配的字串(但不包括与整个正则表达式匹配的文本)。

参考例子如下:

<script type="text/javascript">
var str="How are you doing today?"
document.write(str.split(" ") + "<br />")
document.write(str.split("") + "<br />")
document.write(str.split(" ",3))

</script>

输出结果如下:

可及而不可弃
推荐于2017-10-04 · 超过28用户采纳过TA的回答
知道答主
回答量:158
采纳率:0%
帮助的人:86.8万
展开全部
String command=null;
String[] word=new String[3];
Scanner input=new Scanner(System.in);

command=input.nextLine();

word=command.split(" ",3);
for(String w:word){
System.out.println(w);

写出input.nextLine(); 就可以了
假如你输入a b c
input.next();只接收了第一个空格前面的字符,用nextLine()就可以解决了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
noddle0592
2012-08-01 · 超过18用户采纳过TA的回答
知道答主
回答量:66
采纳率:0%
帮助的人:39.3万
展开全部
input.next();应该修改为input.nextLine();
因为input.next()碰到空格、回车之类的就算完成了。而input.nextLine()是读取一行。
建议将String[] word=new String[3];word=command.split(" ",3);这两句改为
String[] word = command.split(" ");这样可以不用管用户在一行输入了多少个空格。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dahezi666
2012-08-01 · TA获得超过215个赞
知道答主
回答量:336
采纳率:13%
帮助的人:106万
展开全部
public static void main(String[] args) {
System.out.println("请输入");
java.util.Scanner input=new java.util.Scanner(System.in);
String str= input.next();
System.out.println(str);
// String ss=str.replace(" ", ",");
// System.out.println(";;;"+ss);
String st[]=str.split(",");
System.out.println(st.length);
if(st!=null&&st.length>0){
for (String string : st) {
System.out.println(string);
}
}

}

运行结果:
请输入
jj,kk,skdk,
jj,kk,skdk,
3
jj
kk
skdk
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
duing_cn
2012-08-01
知道答主
回答量:21
采纳率:0%
帮助的人:1万
展开全部
String command=null;
String[] word=new String[3];
Scanner input=new Scanner(System.in);
command=input.next();
word=command.split(command," ");
for(String w:word){
System.out.println(w);
}
追问

不行,word=command.split(command," ");这行程序报错

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式