Java中 怎么实现从字符串中提取数字
首先谢谢您花几分钟看看例如:我想从用户输入的一串字符(string)提取出其中的数字(int)比如"13+45="我想提取13和45两个数然后做加操作..该如何进行呢?不...
首先谢谢您花几分钟看看
例如:
我想从用户输入的一串字符(string)
提取出其中的数字(int)
比如 "13+45="
我想提取13 和 45 两个数
然后做加操作..
该如何进行呢? 不用正则表达式... 展开
例如:
我想从用户输入的一串字符(string)
提取出其中的数字(int)
比如 "13+45="
我想提取13 和 45 两个数
然后做加操作..
该如何进行呢? 不用正则表达式... 展开
4个回答
展开全部
import java.util.ArrayList;
import java.util.List;
public class T4 {
public static void main(String[] args) {
String s = "13+45=";
boolean flag = false;
String ss ="";
List<Integer> list = new ArrayList<Integer>();
for (int i = 0; i < s.length(); i++) {
for (int j = 0; j < 10; j++) {
if (String.valueOf(s.charAt(i)).equals(String.valueOf(j))) {
flag=true;
}
}
if(flag){
ss=ss+s.charAt(i);
flag=false;
}else{
list.add(Integer.parseInt(ss));
ss="";
}
}
int sum=0;
for(int i=0;i<list.size();i++){
sum=sum+list.get(i);
}
System.out.println(sum);
}
}
import java.util.List;
public class T4 {
public static void main(String[] args) {
String s = "13+45=";
boolean flag = false;
String ss ="";
List<Integer> list = new ArrayList<Integer>();
for (int i = 0; i < s.length(); i++) {
for (int j = 0; j < 10; j++) {
if (String.valueOf(s.charAt(i)).equals(String.valueOf(j))) {
flag=true;
}
}
if(flag){
ss=ss+s.charAt(i);
flag=false;
}else{
list.add(Integer.parseInt(ss));
ss="";
}
}
int sum=0;
for(int i=0;i<list.size();i++){
sum=sum+list.get(i);
}
System.out.println(sum);
}
}
展开全部
如果只是这个就好写啊,
String s = "12+23=";
String[] demo = s.split('+');
再把demo中的字符串转换成int
int i = Integer.parstInt(demo[0]);
再加就ok了
-------------------
没开编译器。
希望是你要的答案
String s = "12+23=";
String[] demo = s.split('+');
再把demo中的字符串转换成int
int i = Integer.parstInt(demo[0]);
再加就ok了
-------------------
没开编译器。
希望是你要的答案
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
import java.util.ArrayList;
public class GetNum {
public static int[] GetNums(String s){
ArrayList<String> nums = new ArrayList<String>();
String num = "";
boolean lastIsNum = false;
for(int i = 0;i<s.length();i++){
if(s.charAt(i)<='9' && s.charAt(i)>='0'){
lastIsNum = true;
num += s.substring(i,i+1);
}else {
if (lastIsNum)
nums.add(num);
num="";
lastIsNum=false;
}
}
System.out.println(nums);
int[] rs = new int[nums.size()];
for(int i = 0;i<rs.length;i++){
rs[i] = Integer.parseInt((nums.get(i)));
}
return rs;
}
public static void main(String[] args) {
int[] j = GetNums("12sd5sd5w2sds221sdsd");
for(int i = 0 ;i<j.length;i++)
System.out.println(j[i]);
}
}
public class GetNum {
public static int[] GetNums(String s){
ArrayList<String> nums = new ArrayList<String>();
String num = "";
boolean lastIsNum = false;
for(int i = 0;i<s.length();i++){
if(s.charAt(i)<='9' && s.charAt(i)>='0'){
lastIsNum = true;
num += s.substring(i,i+1);
}else {
if (lastIsNum)
nums.add(num);
num="";
lastIsNum=false;
}
}
System.out.println(nums);
int[] rs = new int[nums.size()];
for(int i = 0;i<rs.length;i++){
rs[i] = Integer.parseInt((nums.get(i)));
}
return rs;
}
public static void main(String[] args) {
int[] j = GetNums("12sd5sd5w2sds221sdsd");
for(int i = 0 ;i<j.length;i++)
System.out.println(j[i]);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
只能挨个字母去判断
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询