String strInt = "123+4343="; int int1 = Integer.parseInt(strInt.substring(0,3)); int int2 = Integer.parseInt(strInt.substring(4,8)); int intReturn = 0; if("+".equals(strInt.substring(3,4))){ intReturn = int1 + int2; } System.out.println(intReturn);
截取字符串,并将其转化成INT型,再相加。如一楼!
一楼的方法可以···还可以用String.split()
网上应该有相关的代码的,lz搜索一下跟expression相关的类试试
这是用split实现的··还可以计算"123+123+236+....+n="的值 ·· public class Test{ public static void main(String args[]){ String strInt = "123+4343="; String[] str = strInt.split("\\+"); int sum=0; for(String s:str){ sum+=Integer.parseInt(s.replace("=","")); } System.out.println(sum); } }
public class Test{ public static void main(String args[]){ String str="123+4343="; int t1=Integer.parseInt(str.substring(0,3)); int t2=Integer.parseInt(str.substring(4,8)); int sum=t1+t2; System.out.println(str+sum); } }跟一楼一样,只是不知道为什么要equals"+",哪位大虾能指点一下吗?
equals 是比较两个字符串相不相等的方法
为什么split无法返回数组长度 public class Test{ public static void main(String args[]){ String str="123+4343+88888+234="; String[] strArray=str.split("//+"); int len=strArray.length(); System.out.println(len); } }为什么不能返回strArray的长度?应该怎样?
int int1 = Integer.parseInt(strInt.substring(0,3));
int int2 = Integer.parseInt(strInt.substring(4,8));
int intReturn = 0;
if("+".equals(strInt.substring(3,4))){
intReturn = int1 + int2;
}
System.out.println(intReturn);
public class Test{
public static void main(String args[]){
String strInt = "123+4343=";
String[] str = strInt.split("\\+");
int sum=0;
for(String s:str){
sum+=Integer.parseInt(s.replace("=",""));
}
System.out.println(sum);
}
}
public static void main(String args[]){
String str="123+4343=";
int t1=Integer.parseInt(str.substring(0,3));
int t2=Integer.parseInt(str.substring(4,8));
int sum=t1+t2;
System.out.println(str+sum);
}
}跟一楼一样,只是不知道为什么要equals"+",哪位大虾能指点一下吗?
public class Test{
public static void main(String args[]){
String str="123+4343+88888+234=";
String[] strArray=str.split("//+");
int len=strArray.length();
System.out.println(len);
}
}为什么不能返回strArray的长度?应该怎样?
1.是"\\+"不是"//+"
2.是length不是length()
用replace是不可能把“=”替换掉~~
大家可以看看用正则法:
import java.lang.String;
public class Test {
public static void main(String args[]){
String strInt="123+4343+45454+5656=";
strInt=strInt.replace('=',' ');
System.out.println(strInt);
String[] str=strInt.split("\\+");
int sum=0;
int len=str.length;
System.out.println(len);
for(int i=0;i<len-1;i++)
{
sum=sum+Integer.parseInt(str[i]);
}
System.out.println(sum);
}
}这个方法行不通,因为无法去除“=”~~除非再截取置换后的null值哪位朋友可以用Split做出,??
2.for(int i=0;i<len-1;i++)中是i<len(0 1 2 3....len-1为合法下标)或者可以写成i<=len-1
计算表达式的库,JAVA用得不多,不是很清楚,但C++,php等都是有的。可以计算 如: (3 + 4)*2 = 等通用的数学表达式。