| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 410 人关注过本帖
标题:???
只看楼主 加入收藏
angelnana
Rank: 1
等 级:新手上路
帖 子:178
专家分:0
注 册:2007-8-13
收藏
 问题点数:0 回复次数:5 
???
package phrase1;
import java.io.*;
public class Stringcalcul {
public static void main(String args[])throws IOException{
String teststr;
BufferedReader buf;
String A=null;
String B=null;
float numA,numB,result;
buf=new BufferedReader(new InputStreamReader(System.in));
System.out.print("please input:");
teststr=buf.readLine();
char[] testchar=teststr.toCharArray();
char[] oper={'+','-','*','/'};
for(int i=0;i<testchar.length;i++){
switch(testchar[i]){
case '+':
for(int j=0;j<i;j++){
Character a=new Character(testchar[j]);
A=a.toString();
}
for(int j=i+1;j<testchar.length;j++){
Character b=new Character(testchar[j]);
B=b.toString();
}
numA=Float.parseFloat(A);
numB=Float.parseFloat(B);
result=numA+numB;
System.out.println(teststr+"="+result);
break;
}

}
}
}
编译通过了,但是运行的结果有时对,有时错
2007-08-13 11:21
hwoarangzk
Rank: 4
来 自:冰封王座
等 级:贵宾
威 望:12
帖 子:1894
专家分:0
注 册:2007-7-17
收藏
得分:0 

你的程序一开始就只有判断“+”的部分,如果我输入"-1-2",那这部分的判断就没有了,程序就什么都不做了


I'm here, as always...
2007-08-13 11:27
hwoarangzk
Rank: 4
来 自:冰封王座
等 级:贵宾
威 望:12
帖 子:1894
专家分:0
注 册:2007-7-17
收藏
得分:0 
你这道题的要求是什么?

I'm here, as always...
2007-08-13 13:45
hwoarangzk
Rank: 4
来 自:冰封王座
等 级:贵宾
威 望:12
帖 子:1894
专家分:0
注 册:2007-7-17
收藏
得分:0 

你的思路是先判断操作符是什么,得到操作符的下标后就开始算两个操作数对吧?不过这样做没有加入负数的情况


I'm here, as always...
2007-08-13 13:53
hwoarangzk
Rank: 4
来 自:冰封王座
等 级:贵宾
威 望:12
帖 子:1894
专家分:0
注 册:2007-7-17
收藏
得分:0 
而且还有问题是你的toString,这样做的结果是两个操作数只取各自最左边的那一位,例如,“12+32”,结果却是4。

I'm here, as always...
2007-08-13 13:55
hwoarangzk
Rank: 4
来 自:冰封王座
等 级:贵宾
威 望:12
帖 子:1894
专家分:0
注 册:2007-7-17
收藏
得分:0 
说错了...是两个操作数只取各自最右边的那一位...也就是只能进行两个操作数个位的运算...

I'm here, as always...
2007-08-13 13:57
快速回复:???
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026630 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved