public class Test1 {
public static void main(String[] args) {
String str="1234+23545+244252+3435";
for(int i=0;i<str.length();i++){
if(str.charAt(i)>'0'||str.charAt(i)<'9'){
System.out.print(str.charAt(i)+"");
}
}
}
为什么还有运算符输出哦?
public static void main(String[] args) {
String str="1234+23545+244252+3435";
for(int i=0;i<str.length();i++){
if(str.charAt(i)>'0'||str.charAt(i)<'9'){
System.out.print(str.charAt(i)+"");
}
}
}
为什么还有运算符输出哦?
,而你的理解是他返回一个ansic码,其实他不返回的,你可以自己试一下看看+返回的值是多少,就是说你这个程序根本就没有过滤+,当然要输出了,
if(!str.charAt(i).equals("+")){
System.out.print(str.charAt(i)+"");
}
这样就可以了哈
LS的str.charAt(i)返回的是个char值,“+”是个字符串 怎么可以用char.equals(String);??
if(!str.charAt(i).equals("+")){
System.out.print(str.charAt(i)+"");
}
-----------------------
-----------------------
str.charAt(i)返回的是个char值,不能用上面的方法,应该用这个吧
if(str.charAt(i)!='+'){
System.out.print(str.charAt(i)+"");
}
import java.io.*;
public class Test1 {
public static void main(String[] args) {
String str="1234+23545+244252+3435";
for(int i=0;i <str.length();i++){
if(str.charAt(i) > '0' && str.charAt(i) < '9'){
System.out.print(str.charAt(i)+"");
}
}
}
}
结果:123423545244252345
public class Test1 {
public static void main(String[] args) {
String str="1234+23545+244252+3435";
String[] num = str.split("\\W");
for(String s : num){
System.out.print(s);
}
System.out.println();
}
}
output:
123423545244252345