希望能给一些比较方便的函数和清晰的代码样例 谢谢大家了!!

在C中可以用sscanf(s,"(%d,%d)%d",&u,&v,&z);来实现这个功能 Java中怎样实现呢?
可能我说的还是不清楚
我写了个C的程序 如下:
#include<stdio.h>
int main()
{
char s[1000];
int u,v,z;
scanf("%s",s);
sscanf(s,"(%d,%d)%d",&u,&v,&z);
printf("%d %d %d\n",u,v,z);
return 0;
}
输入:
(12313,999)67753
输出:
12313 999 67753

用Java怎么实现呢 我要用Scanner读入 不想用BufferedReader 因为是个ACM的题目。。非常希望能学一个简单易用的函数 不想自己写拆分字符串的方法 谢谢大家了!!。。 
希望能有清楚的Java代码 只要实现和我上边的C代码一样的功能就可以了!用Scanner控制台类读入 不要BuffereReader 不要自己写函数实现 

我觉得Java的库如此强大 应该不会没有实现这个功能的函数吧。。?
我在网上查了个String类中的split函数 但是这个函数只能分离诸如
123:1231:123123或123.999.999这种字符串只有":","."一种风格符的字符串 如果要把123:765.999分离成 123 765 999就没辙了..希望各位高手帮帮我啊。。 
就算不分离存到整型变量里也行 只要分离出来就成就是想把有规定格式的字符串中的数字分离出来。

繁华开满天机
浏览 84回答 3
3回答

慕容森

据我目前所知,JAVA中应该没有类似于这样的函数,你可以自己实现一个&nbsp;split是支持正则的123:765.999分离str.split("[:.]");

肥皂起泡泡

java 是有scanner这个类的,用法大概如下:Scanner scanner = new Scanner(xxx);xxx可以是文件,可以是输入流(控制台输入就是 System.in),也可以直接是字符串。&nbsp;随后调用方法int i = scanner.nextInt();就会尝试从中读取一个整数。当然还有很多其他的方法,可以查看API文档。如果是按照你的例子程序的话,java实现大体如下:public class JMain {public static void main(String[] args) {Scanner s = new Scanner(System.in);while(s.hasNextInt()) {System.out.println(s.nextInt());}}}再来说一下split方法,其实也是可以实现的,因为splti方法的参数是个正则表达式,所以只要写对正则表达式,就可以实现。对于正则表达式我并不熟练,也就不胡说八道了。&nbsp;

茅侃侃

看来楼主真的急用,split每次只能分1个比如String s ="123123:35234";String str[]=s.split(":",2);//2是去掉2次其实可以把字符串放入字符数组,然后判断ASCII码的'0'就是48,你要保留数字就是判断是否在'0'到'9'之间有啊就是麻烦一点要用到捕获异常需要import java.io.*;&nbsp;String str=null;BufferedReader br=new BufferedReader(new InputStreamReader(System.in),1);&nbsp;try{str=br.readLine();//这句就是从键盘输入,放入str中}catch(IOException ex){System.out.println(ex.toString());}&nbsp;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java