请问如何把str="1+2"字符串
转换成
数值型并得到结果3(数值型),怎么转换
好像用Integer.parseInt(str)得不到想要的结果,这个只能把单个的数值型字符转换成数值
转换成
数值型并得到结果3(数值型),怎么转换
好像用Integer.parseInt(str)得不到想要的结果,这个只能把单个的数值型字符转换成数值
解决方案 »
- FileNotFoundException,求助各位大虾
- JDOM操作高手请进
- java基础问题,请高手帮忙看看
- swing有用吗?
- java的环境变量问题?(急)
- 请熟悉JCE的高手们来看看了,我的程序为什么总出错啊!
- 微软的Microsoft SQL Server 2000 Driver for JDBC 2.2.0022版是怎么回事?
- JAVA JODBC中怎样连续操作两个(或以上)的SQL语句
- 小儿科问题:大家好,我的applet小程序不能在浏览器中显示,请问这是为什么
- 我是新手,刚从Delphi转成Java,谁给我介绍一下Canvas类
- 万能的门诊啊,求求给我一个Decode的算法吧!
- 一个快捷键定义问题
{
public static void main(String[] args)
{
String str="1+2";
char[] ch=new char[3];
for(int i=0;i<3;i++)
{
ch[i]=str.charAt(i);
}
int a=Integer.parseInt(Character.toString(ch[0]));
int b=Integer.parseInt(Character.toString(ch[2]));
System.out.println(a+b);
}
}
上面的代码估计能解决你的问题,不过可能不是你要的答案。呵呵。。抛砖引玉吧。
如果是:"1/2",那就要多写一句System.out.println(a/b);
比如:"1+2","1-2","1*2","1/2" 用一个语句把这几种情况全部都实现,哪位知道的请指点一下哈
参见编译原理,语法解析。怀念foxbase中的&代换啊。
VF中用&就可以把这种类型的
数值表达式的字符串直接转换成数值表达式
java中应该也行的,只是一下忘了,我前几天还弄过的,也是用的Double.parseDouble();都行了的,被我给又改了,现在再弄就不行了,真怪了!!
转换成
数值型并得到结果3(数值型),怎么转换
好像用Integer.parseInt(str)得不到想要的结果,这个只能把单个的数值型字符转换成数值//////////////////////////////不知道LZ为什么非要 str="1+2",我有两个简便方法:
1, str=""+(1+2);
2,如果不介意再引入个中间变量 int iv=i+2; str=""+iv; 这样问题不是全部解决了.呵呵
public class test
{
public static void main(String [] args)
{
StringTokenizer st = new StringTokenizer("12+11","+-*/",true);
// StringTokenizer st = new StringTokenizer("12-11","+-*/",true);
// StringTokenizer st = new StringTokenizer("12*11","+-*/",true);
// StringTokenizer st = new StringTokenizer("12/11","+-*/",true);
Integer oper1=new Integer((String)st.nextElement());
String operWay=(String)st.nextElement();
Integer oper2=new Integer((String)st.nextElement());
System.out.println(operWay.charAt(0));
switch(operWay.charAt(0))//用操作符来判断做哪种运算
{
case '+':System.out.println(oper1.intValue()+oper2.intValue());break;
case '-':System.out.println(oper1.intValue()-oper2.intValue());break;
case '*':System.out.println(oper1.intValue()*oper2.intValue());break;
case '/':System.out.println(oper1.intValue()/oper2.intValue());break;
}
}
}
hbyufan() 说的两种方法我还没用过,应该也行吧.我下来再试一下,多学习学习~~~`