有个字符串比如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字符的截取JavaString
* @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字符的截取JavaString
//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;
}
上面代码没有测试,大体思路是这样,测试看看,逻辑应该没有问题,细节可能会有错误。
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;
}
}
}
不过如果if()不带左括号就麻烦了。建议用(计数比较,if后面得到一个(,计数器+1,得到一个)计数器-1,最后计数器为0了,打印结束~