算24的java程序续

 public long ct(String sc) {
  System.out.println("ct  ss="+sc );
  char ys = '+';
  int ysf = 0;
  long a = 0, b = 0;
  String sa = null, sb = null;
  if (sc != null) {
   ysf = sc.indexOf('*');
   if (ysf >0) ys = '*';
    else {   ysf = sc.indexOf('/');
   
    
     if (ysf >0) ys = '/';
     else { ysf = sc.indexOf('+');
   
    
   if (ysf > 0) ys = '+';else {
      ysf =sc.indexOf('-') ;
      if (ysf >0) ys =  '-';
     }
    }}
   
   System.out.println("ct sc= "+sc+" ysf= "+ysf+" ys= "+ys);
   sa = sc.substring(0, ysf);
   try {
    a = Long.parseLong(sa);
    System.out.println("ct  a= "+a  );
    sb = sc.substring(ysf + 1, sc.length());
    b = Long.parseLong(sb);
    System.out.println("ct  b= "+b );
   } catch (NumberFormatException ex) {
    ex.printStackTrace();
   }

   switch (ys) {
   case '*':
    a *= b;
    break;
   case '/':
    a /= b;
    break;
   case '+':
    a += b;
    break;
   case '-':
    a -= b;
    break;

   

  } System.out.println("ct  a= "+a  );

 }return a;

}

 public String get0(String so) {
  String ro = null;
  if (so != null) {
   ro = so.substring(so.indexOf('(') + 1, so.indexOf(')') );// -1
   System.out.println("get0 ro = "+ro  );
  }
  return ro;
 }

 int yn(String sk) {
  char ch = '+';
  int n = 0;
  for (int i = 0; i < sk.length(); i++) {
   ch = sk.charAt(i);
   if ((ch == '*') || (ch == '/') || (ch == '+') || (ch == '-'))
    n++;
  }
  return n;

 }
 

 public int yn2(String s, int[] y) {

  int n2 = 0;
  for (int i = 0; i < s.length(); i++) {
   char ch = s.charAt(i);
   if ((ch == '*') || (ch == '/') || (ch == '+') || (ch == '-'))
    y[n2++] = i;
  }
  return n2;
 }

 public String get2(String s1, String ss, long m) {
  StringBuffer out = new StringBuffer();
  int a = 0;
  if ((s1 != null) & (ss != null)) {
   System.out.println("get2 s1=" + s1);
   System.out.println("get2 ss=" + ss + " m==" + m);

   a = s1.indexOf(ss);
   System.out.println("get2 ss=" + ss + " a==" + a);

       if (s1.indexOf('(')>=0){
   out.append(s1.substring(0, a-1));
   out.append("" + m);
   out.append(s1.substring(a + ss.length()+1, s1.length()));
       }else {
        out.append(s1.substring(0, a));
   out.append("" + m);
   out.append(s1.substring(a + ss.length(), s1.length()));
    
       
       
       
       
       }
       
       
       System.out.println("get2 s1=" + out.toString());
       
   return out.toString();
  }
  return "";
 }

 public String get(String s, char ch) {

  int n = 0;
  String out = null;
  int[] y = new int[100];
  if (s != null) {
   int yc = s.indexOf(ch);
   n = yn2(s, y);
   System.out.println("get n= " + n+" ch= "+ch);

   int i = 0;
   for (i = 0; i < n; i++) {
    System.out.println("get n= " + n);
    if (yc == y[i]) {
     if ((i > 0) & (i < n - 1)) {
      out = s.substring(y[i - 1] + 1, y[i + 1]);//-1
      break;

     } else if (i == 0) {
      out = s.substring(0, y[i + 1]);
      break;
     } else {
      out = s.substring(y[i - 1] + 1, s.length());
      break;
     }

    }
   }
  }
  System.out.println("get out= " + out);
  return out;

 }

 public static void main(String[] args) {
  TwentyFourl app = new TwentyFourl();
 }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值