当前位置:编程学习 > JAVA >>

字符串截取

有个字符串比如String=“package san;

public class sanjiaox {

/**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
sanjiaox a=new sanjiaox();
int v=a.ss(3, 2, 1.5);
System.out.println(v);

}
public int ss(double a,double b,double c){
if((a+b)>c&&(b+c)>a&&(a+c)>b){
//判断是不是三角形
if(b==c&&c==a){
return 1;

}
if((b==c)||(c==a)||(b==a)){
return 2;
}
else{
return 3;
}


}
else {
return 0;
}


}

}”把这个代码作为一个字符串我要截取出所有if后面的判断语句比如第一个遇到if我就截取出if后面的((a+b)>c&&(b+c)>a&&(a+c)>b)这个字段遇到第二个if截取(b==c&&c==a)这个字段
以此类推找出所有if后面的判断语句的字段的java代码要怎么编写麻烦各位帮帮想办法 java下String字符的截取 Java String --------------------编程问答--------------------


String str="if((a+b)>c&&(b+c)>a&&(a+c)>b){";
//str参数表示,读取文件中的一行  如果读取的不是一行,那么就在这之前拼成一行,再调用此方法
public String getStrRes(String str){
    if (str.trim().startwith("if")){
       //获取if的在字符串中的位置
       int begin = str.indexOf("if");
       //获取第一个{在字符串中的位置
       int end = str.indexOf("{");
       return str.substring(begin + 2,end - 1);
    }
    return null;
}




上面代码没有测试,大体思路是这样,测试看看,逻辑应该没有问题,细节可能会有错误。 --------------------编程问答-------------------- 我要的不是这样我要的是用任意一段代码用一个方法就都能查出里面所有if后面所跟的判定语句 --------------------编程问答-------------------- 贴上代码:

package csdn_628;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class sanjiaox {
public static void main(String[] args) throws IOException {
sanjiaox a = new sanjiaox();
int v = a.ss(3, 2, 1.5);
System.out.println(v);

FileReader fr = new FileReader("D:\\AndroidProgram\\MyCsdn06\\src\\csdn_628\\sanjiaox.java");
int c;
char d;
while((c = fr.read()) != -1){
while((char)c == 'i' && (char)fr.read()=='f'){
while((d = (char)fr.read()) != '{')
System.out.print(d);
}
}
}

public int ss(double a, double b, double c) {
if ((a + b) > c && (b + c) > a && (a + c) > b) {
// 判断是不是三角形
if (b == c && c == a) {
return 1;

}
if ((b == c) || (c == a) || (b == a)) {
return 2;
} else {

return 3;
}
} else {
return 0;
}
}
}
--------------------编程问答-------------------- 那个绝对路径是我java文件的路径,楼主要自己改下自己的路径才可以运行 --------------------编程问答-------------------- 3L 不错~
不过如果if()不带左括号就麻烦了。

建议用(计数比较,if后面得到一个(,计数器+1,得到一个)计数器-1,最后计数器为0了,打印结束~
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,