Java Data Processing and java Big Data Processing

Source: Internet
Author: User

Java Data Processing and java Big Data Processing

For example, "(TYPE = SITA #) & (CTYP = FPL #) | (CTYP = CHG #) | (CTYP = CNL ##) | (CTYP = DLA #) | (CTYP = DL #) | (CTYP = ED #) & (ADEP = ZSSS ##)) "string, which usually appears as a condition for determining a thing. The final result of the entire condition must be calculated (true/false ).

The following Java code is provided:

1 package com. test; 2 3 import net. sourceforge. jeval. evaluator; 4 5 public class T1 {6 7 public static void main (String [] args) throws Exception {8 String condition = "(TYPE = SITA ##) & (CTYP = FPL #) | (CTYP = CHG #) | (CTYP = CNL #) | (CTYP = DLA ##) | (CTYP = DL #) | (CTYP = ED #) & (ADEP = ZSSS #) "; 9 condition = replaceExpression (condition, "TYPE =", "SITA", "="); 10 condition = replaceExpression (condition, "CTYP = "," FPL "," = "); 11 condition = replaceExpression (condition," ADEP = "," "," = "); 12 System. out. println ("condition:" + condition); // condition :( 1) & (1) | (0) | (0) | (0) | (0) | (0) & (0) 13 14/** 15 * digital expression parsing tool 16 * Evaluator Needs to download the jeval package, link 17 */18 Evaluator evaluator = new Evaluator (); 19 boolean B = evaluator. getBooleanResult (condition); // false 20 System. out. println (B); 21 System. out. println (e Valuator. evaluate ("2 + 3 ")); // 5.0 22 23} 24 25/** 26*27 * @ param condition 28 * @ param replace 29 * @ param toBeCompared 30 * @ param operators 31 * @ return 32 *@ throws Exception will throw an Exception 33 */34 public static String replaceExpression (String condition, string replace, 35 String toBeCompared, String operators) throws Exception {36 while (condition. contains (replace) {37 int start = condi Tion. indexOf (replace); 38 int end = condition. indexOf ("#", start); 39 String express = condition. substring (start, end); 40 express = express. substring (replace. length (); 41 if ("> = ". equals (operators) {42 43 if (Long. parseLong (toBeCompared)> = Long. parseLong (express) {44 condition = condition. substring (0, start) + "1" 45 + condition. substring (end + 2); 46} else {47 condition = condition. subs Tring (0, start) + "0" 48 + condition. substring (end + 2); 49} 50} else if ("<= ". equals (operators) {51 if (Long. parseLong (toBeCompared) <= Long. parseLong (express) {52 condition = condition. substring (0, start) + "1" 53 + condition. substring (end + 2); 54} else {55 condition = condition. substring (0, start) + "0" 56 + condition. substring (end + 2); 57} 58} else if ("> ". equals (operators) {59 6 0 if (Long. parseLong (toBeCompared)> Long. parseLong (express) {61 condition = condition. substring (0, start) + "1" 62 + condition. substring (end + 2); 63} else {64 condition = condition. substring (0, start) + "0" 65 + condition. substring (end + 2); 66} 67} else if ("<". equals (operators) {68 if (Long. parseLong (toBeCompared) <Long. parseLong (express) {69 condition = condition. substring (0, start) + "1" 70 + condition. substring (end + 2); 71} else {72 condition = condition. substring (0, start) + "0" 73 + condition. substring (end + 2); 74} 75} else if ("! = ". Equals (operators) {76 if (! Express. equals (toBeCompared) {77 condition = condition. substring (0, start) + "1" 78 + condition. substring (end + 2); 79} else {80 condition = condition. substring (0, start) + "0" 81 + condition. substring (end + 2); 82} 83} else {84 if ("RADDRESS = ". equals (replace) {85 String [] toBeComparedArray = toBeCompared. split (""); 86 String flag = "0"; 87 for (String toBeComparedString: toBeComparedArray) {88 if (express. equals (toBeComparedString) {89 flag = "1"; 90 break; 91} 92} 93 condition = condition. substring (0, start) + flag 94 + condition. substring (end + 2); 95 96} else {97 if (express. equals (toBeCompared) {98 condition = condition. substring (0, start) + "1" 99 + condition. substring (end + 2); 100} else {101 condition = condition. substring (0, start) + "0" 102 + condition. substring (end + 2); 103} 104} 105} 106} 107 return condition; 108} 109}

Related jar package download: http://files.cnblogs.com/files/x-jingxin/jeval.zip

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.