当前页面: 开发资料首页 → J2SE 专题 → 求一个逻辑算法
求一个逻辑算法
摘要: 求一个逻辑算法
a,b,c,d四个值为整数
我想要实现的是a,b,c,d四个数中任意几个的&&结果(true或false)
条件是这样的,举个例子
如果其中a>0,b>0则应该这样:得到这样的表达式:a&&b
再举例,如果,a>0,c>0,d>0则应该这样:得到这样的表达式:a&&c&&d
不知道我是否描述的清楚明白呢?
没人关注么?自己顶啊
int a,b,c,d;
String ret;
void addchar(char c){
if(ret.length==0)
ret=c;
else
ret=ret+"&&"+c;
}
String check(){
ret="";
if(a>0) addchar('a');
if(b>0) addchar('b');
if(c>0) addchar('c');
if(d>0) addchar('d');
return ret;
}
执行check返回你要的字符串
重新描述一下上述问题:
a,b,c,d四个整数对应有四个波olean表达式ex1,ex2,ex3,ex4
如果其中a>0,b>0则应该这样:得到这样的表达式:ex1&&ex2
再举例,如果,a>0,c>0,d>0则应该这样:得到这样的表达式:ex1&&ex3&&ex4
我是这样来实现的:
boolean returnBl = true;
if(a>0){
returnBl = returnBl && ex1;
}
if(b>0){
returnBl = returnBl && ex2;
}
if(c>0){
returnBl = returnBl && ex3;
}
if(d>0){
returnBl = returnBl && ex4;
}
大家是否认为这样的写法有什么问题么?
package csdn;
import java.util.ArrayList;
class Olean{
int n = 0;
String s = null;
Olean (int n,String s){
this.n = n;
this.s = s;
}
}
public class StringJoin {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Olean o1 = new Olean(1,"ex1");
Olean o2 = new Olean(-2,"ex2");
Olean o3 = new Olean(3,"ex3");
Olean o4 = new Olean(-4,"ex4");
ArrayList a = new ArrayList(12);
a.add(o1);a.add(o2);a.add(o3);a.add(o4);
//Olean s =(Olean)a.get(0);
//System.out.println(s.n);
String strjoin = "";
for (int i=0;i
Olean s =(Olean)a.get(i);
if(s.n>0){
strjoin += s.s;
}
}
System.out.println(strjoin);
}
}
mark
楼主的写法没问题