求java程序计算((123+234)/23435325*34235423423) 主要不知道怎么提取出数字,希望关键函数能给点注释
另外在C++中读入一个数后再读入一行字符串之前要加一个getchar(),不知在java中怎么实现剔除空格或回车比如:要读入一个数字和两个单词用程序改怎么完成15asdf...
另外在C++中读入一个数后再读入一行字符串之前要加一个getchar( ),不知在java中怎么实现剔除空格或回车 比如:要读入一个数字和两个单词用程序改怎么完成
15
asdf dfdfd 展开
15
asdf dfdfd 展开
6个回答
展开全部
首先你需要import java.util.Scanner;
Scanner scanner=new Scanner(System.in);
int i=scanner.nextInt();
String s1=scanner.next();
String s2=scanner.next();
字符串里不会读入空格和回车的,像next()遇到空格或者回车就停了
另外
nextBoolean()可以读取boolean型数据
nextDouble()可以读取double型数据
nextLong()可以读取long型数据
nextShort()可以读取short型数据
nextLine()可以读取整行数据,得到的是String型
比如刚才这个
String s1=scanner.nextLine();
s1读取到的就是:asdf dfdfd
而且会保留开头和结尾的空格
如果要去掉多余的开头和结尾的空格,可以用s1=s1.trim();实现
如果你想要用字符串计算而不是先计算出来,然后再转化为String类型的算法,可以参照我以前答的这个思想(如果要代码需要加分)~不过思想是免费的,这思想写起来也很不容易的~
看完了“有帮助一下”吧,谢谢了~
Scanner scanner=new Scanner(System.in);
int i=scanner.nextInt();
String s1=scanner.next();
String s2=scanner.next();
字符串里不会读入空格和回车的,像next()遇到空格或者回车就停了
另外
nextBoolean()可以读取boolean型数据
nextDouble()可以读取double型数据
nextLong()可以读取long型数据
nextShort()可以读取short型数据
nextLine()可以读取整行数据,得到的是String型
比如刚才这个
String s1=scanner.nextLine();
s1读取到的就是:asdf dfdfd
而且会保留开头和结尾的空格
如果要去掉多余的开头和结尾的空格,可以用s1=s1.trim();实现
如果你想要用字符串计算而不是先计算出来,然后再转化为String类型的算法,可以参照我以前答的这个思想(如果要代码需要加分)~不过思想是免费的,这思想写起来也很不容易的~
看完了“有帮助一下”吧,谢谢了~
追问
你好,思路我也会,我当时就是不知道用java怎么不数字截取出来,如果是用C++我也能写出来,不过看你回答那个人的问题的时候是没有悬赏分的,你还自己写了那么多,也是比较热心的,不过以后也不要太贪心了,这次就给你算了
参考资料: http://zhidao.baidu.com/question/301622804.html
展开全部
public static void main(String[] args) throws IOException
{
byte[] b = new byte[1024];
int length = 0;
java.io.BufferedInputStream bis = new java.io.BufferedInputStream(System.in);
StringBuilder sb = new StringBuilder();
System.out.print("Please input(\"end\" to quit):");
while((length = bis.read(b)) != -1) {
String input = new String(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("Please input(\"end\" to quit):");
}
String end = sb.toString();
System.out.println("end: " + end);
char[] chars = end.toCharArray();
for (int i = 0; i < chars.length; i++) {
char oneChar = chars[i];
System.out.println(oneChar);
}
// 使用栈可以分析 计算
// ((123+234)/23435325*34235423423)
}
{
byte[] b = new byte[1024];
int length = 0;
java.io.BufferedInputStream bis = new java.io.BufferedInputStream(System.in);
StringBuilder sb = new StringBuilder();
System.out.print("Please input(\"end\" to quit):");
while((length = bis.read(b)) != -1) {
String input = new String(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("Please input(\"end\" to quit):");
}
String end = sb.toString();
System.out.println("end: " + end);
char[] chars = end.toCharArray();
for (int i = 0; i < chars.length; i++) {
char oneChar = chars[i];
System.out.println(oneChar);
}
// 使用栈可以分析 计算
// ((123+234)/23435325*34235423423)
}
追问
你好,很感谢你能写这么长的代码,但是我真的没有看懂,而且你的程序运行也没有通过,你可能是理解错我的意思了,不好意思
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Java IO
((123+234)/23435325*34235423423) 这个直接用String的split方法就能解决。
((123+234)/23435325*34235423423) 这个直接用String的split方法就能解决。
追问
主要就是不知道怎么实现,我是自己自学的,还没学多少,实现这个程序估计也就10来行吧,麻烦能给写一下具体程序
追答
==
我启动Eclipse
我的Java也是自学的。5年前
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
请问您这些数字是从控制台输入的么?就是您在执行程序的时候手动输入这些值?
更多追问追答
追问
对,是手动输入的
追答
import java.util.Scanner;
public class CountTest {
//String str="((123+234)/23435325*34235423423";
public static void main(String args[]){
int count=0;
Scanner strData= new Scanner(System.in);//从命令行输入这四个数,以空格隔开
String str1=strData.nextLine();//把整行读取初来
String arrStr[]=str1.split(" ");//把读出初来的字符串,按空格拆分成一个字符串数组
int[] arrInt = new int[4];
for(int i=0;i<arrStr.length;i++){
arrInt[i]=Integer.parseInt(arrStr[i]);//把字符串数组转换成整形数组
}
count = (arrInt[0] + arrInt[1])/arrInt[2]*arrInt[3];
System.out.print(count);
}
}
//您看看这是不是您想要的~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
java中输入输出采用流化。java.io包中有许多处理的方法。可以到文档中看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询