java有如下字符串,将其中的数字摘取出来组成一个int的数值输出

packagecom.langsin.diqizhang;publicclassZhaiqushuzi{publicvoidFangfa(){Stringstr=("12... package com.langsin.diqizhang;

public class Zhaiqushuzi {
public void Fangfa(){
String str=("123fgjffff4gvg636ggjvfhc2jhgvfi97hg8760g7jf");
for(int i=0;i<str.length();i++){
for(int j=0;j<10;j++){

if(str.charAt(i)==j){
System.out.print(j);
}
}
}
}
public static void main(String[] args){
Zhaiqushuzi a=new Zhaiqushuzi();
a.Fangfa();
}
}
我if判断的那个地方错了吗?
展开
 我来答
紫薇参星
科技发烧友

2016-08-07 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:5983
采纳率:92%
帮助的人:3569万
展开全部

你的程序我帮你改完了,你看看吧.

package com.langsin.diqizhang;
public class Zhaiqushuzi {
 public void Fangfa(){     
  String str="123fgjffff4gvg636ggjvfhc2jhgvfi97hg8760g7jf";
  String temp="";
  boolean first_Flag=true;
  for(int i=0;i<str.length();i++){      
   if(str.charAt(i)>=48 && str.charAt(i)<=57){        
    temp=temp+str.charAt(i);  
    first_Flag=true;
   }else{
    if(first_Flag==true){
     int n=Integer.parseInt(temp);
     System.out.println(n);
     temp="";
     first_Flag=false;
    }
   }
  }   
 }    
 public static void main(String[] args){     
  Zhaiqushuzi a=new Zhaiqushuzi();     
  a.Fangfa();    
 }
}

运行结果

123
4
636
2
97
8760
7

追问
好吧,考虑的比我要多,我本来只是要提出数字排成一行就好了,真的谢谢了,顺便请教大神,向我那样单纯的输出一个一个数字,怎样把他们一堆变成一个数字?
追答

象你说的,把if(str.charAt(i)==j)改成if(str.charAt(i)-'0'==j)其他的不变,就可以把他们一堆变成一个数字了.具体的程序如下

package com.langsin.diqizhang;
public class Zhaiqushuzi {
 public void Fangfa(){     
  String str="123fgjffff4gvg636ggjvfhc2jhgvfi97hg8760g7jf";
  for(int i=0;i<str.length();i++){      
   for(int j=0;j<10;j++){              
    if(str.charAt(i)-'0'==j){        
     System.out.print(j);       
    }      
   }
  }   
 }    
 public static void main(String[] args){     
  Zhaiqushuzi a=new Zhaiqushuzi();     
  a.Fangfa();    
 }
}

运行结果

123463629787607

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式