求java程序计算((123 234)/23435325*34235423423) 主要不知道怎么提取出数字,希望关键函数能给点注释

[复制链接]
查看11 | 回复11 | 2011-8-26 07:34:31 | 显示全部楼层 |阅读模式
另外在C中读入一个数后再读入一行字符串之前要加一个getchar(),不知在java中怎么实现剔除空格或回车比如:要读入一个数字和两个单词用程序改怎么完成15asdfdfdfd
回复

使用道具 举报

千问 | 2011-8-26 07:34:31 | 显示全部楼层
首先你需要importjava.util.Scanner;Scannerscanner=newScanner(System.in);inti=scanner.nextInt();Strings1=scanner.next();Strings2=scanner.next();字符串里不会读入空格和回车的,像next()遇到空格或者回车就停了另外nextBoolean()可以读取boolean型数据nextDouble()可以读取double型数据nextLong()可以读取long型数据nextShort()可以读取short型数据nextLine()可以读取整行数据,得到的是String型比如刚才这个Strings1=scanner.nextLine();s1读取到的就是:asdfdfdfd而且会保留开头和结尾的空格如果要去掉多余的开头和结尾的空格,可以用s1=s1.trim();实现如果你想要用字符串计算而不是先计算出来,然后再转化为String类型的算法,可以参照我以前答的这个思想(如果要代码需要加分)~不过思想是免费的,这思想写起来也很不容易的~看完了“有帮助一下”吧,谢谢了~参考资料:http://zhidao.baidu.com/question/301622804.html
回复

使用道具 举报

千问 | 2011-8-26 07:34:31 | 显示全部楼层
你好,思路我也会,我当时就是不知道用java怎么不数字截取出来,如果是用C我也能写出来,不过看你回答那个人的问题的时候是没有悬赏分的,你还自己写了那么多,也是比较热心的,不过以后也不要太贪心了,这次就给你算了
回复

使用道具 举报

千问 | 2011-8-26 07:34:31 | 显示全部楼层
JavaIO((123234)/23435325*34235423423)这个直接用String的split方法就能解决。追问主要就是不知道怎么实现,我是自己自学的,还没学多少,实现这个程序估计也就10来行吧,麻烦能给写一下具体程序
回复

使用道具 举报

千问 | 2011-8-26 07:34:31 | 显示全部楼层
==我启动Eclipse我的Java也是自学的。5年前
回复

使用道具 举报

千问 | 2011-8-26 07:34:31 | 显示全部楼层
java中输入输出采用流化。java.io包中有许多处理的方法。可以到文档中看看
回复

使用道具 举报

千问 | 2011-8-26 07:34:31 | 显示全部楼层
请问您这些数字是从控制台输入的么?就是您在执行程序的时候手动输入这些值?追问对,是手动输入的
回复

使用道具 举报

千问 | 2011-8-26 07:34:31 | 显示全部楼层
importjava.util.Scanner;publicclassCountTest{//Stringstr=\"((123234)/23435325*34235423423\";publicstaticvoidmain(Stringargs[]){intcount=0;ScannerstrData=newScanner(System.in);//从命令行输入这四个数,以空格隔开Stringstr1=strData.nextLine();//把整行读取初来StringarrStr[]=str1.split(\"\");//把读出初来的字符串,按空格拆分成一个字符串数组int[]arrInt=newint[4];for(inti=0;iarrStr.length;i){arrInt=Integer.parseInt(arrStr);//把字符串数组转换成整形数组}count=(arrInt[0]arrInt[1])/arrInt[2]*arrInt[3];System.out.print(count);}}//您看看这是不是您想要的~
回复

使用道具 举报

千问 | 2011-8-26 07:34:31 | 显示全部楼层
谢谢您的参与,本来看着你比较热情,而且有礼貌,并且标了注释想把你采纳为最佳答案,但是运行了一下你的程序出现异常,所以不好意思我有看了一点资料,觉得其实用字符串截取函数就可以了
回复

使用道具 举报

千问 | 2011-8-26 07:34:31 | 显示全部楼层
publicstaticvoidmain(String[]args)throwsIOException{byte[]b=newbyte[1024];intlength=0;java.io.BufferedInputStreambis=newjava.io.BufferedInputStream(System.in);StringBuildersb=newStringBuilder();System.out.print(\"Pleaseinput(\\\"end\\\"toquit):\");while((length=bis.read(b))!=-1){Stringinput=newString(b,0,length);if(\"end\".equalsIgnoreCase(input.trim())){break;}else{sb.append(input.trim().replaceAll(\"\\r\\n\",\"\"));}System.out.println(sb.toString());System.out.print(\"Pleaseinput(\\\"end\\\"toquit):\");}Stringend=sb.toString();System.out.println(\"end:\"end);char[]chars=end.toCharArray();for(inti=0;ichars.length;i){charoneChar=chars;System.out.println(oneChar);}//使用栈可以分析计算//((123234)/23435325*34235423423)}追问你好,很感谢你能写这么长的代码,但是我真的没有看懂,而且你的程序运行也没有通过,你可能是理解错我的意思了,不好意思
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行