Complexers class added + cleanup

This commit is contained in:
TheTrouper
2023-11-02 16:39:40 -05:00
parent 810c91ed04
commit c8115fffa5
3 changed files with 52 additions and 41 deletions

View File

@@ -0,0 +1,33 @@
package me.trouper.Functions;
import java.util.Random;
import static me.trouper.Functions.Eval.eval;
public class Complexers {
public static String divide(int i) {
Random random = new Random();
int factor = random.nextInt(9)+1;
int doubled = i * factor;
String result = "(" + doubled + "/" + factor + ")";
if (eval(result) == i) {
return result;
}
return "(" + i + ")";
}
public static String root(int i) {
int squared = (int) Math.pow(i,2);
String result = "sqrt(" + squared + ")";
if (eval(result) == i){
return result;
}
return "(" + i + ")";
}
/*public static String power(int i) {
int
}
*/
}

View File

@@ -0,0 +1,11 @@
package me.trouper.Functions;
import net.objecthunter.exp4j.Expression;
import net.objecthunter.exp4j.ExpressionBuilder;
public class Eval {
public static double eval(String expression) {
Expression exp = new ExpressionBuilder(expression).build();
return exp.evaluate();
}
}

View File

@@ -1,10 +1,12 @@
package me.trouper; package me.trouper;
import net.objecthunter.exp4j.Expression;
import net.objecthunter.exp4j.ExpressionBuilder; import me.trouper.Functions.Complexers;
import java.util.Random; import java.util.Random;
import java.util.Scanner; import java.util.Scanner;
import static me.trouper.Functions.Eval.eval;
public class Main { public class Main {
public static void main(String[] args) { public static void main(String[] args) {
@@ -43,19 +45,15 @@ public class Main {
while (eval(expression.toString()) != target) { while (eval(expression.toString()) != target) {
System.out.println("Current: " + eval(expression.toString())); System.out.println("Current: " + eval(expression.toString()));
int ri = random.nextInt(9)+1; int ri = random.nextInt(9)+1;
int op = random.nextInt(2);
System.out.println("Random: " + ri); System.out.println("Random: " + ri);
if (eval(expression.toString()) < target) { if (eval(expression.toString()) < target) {
int squared = (int) Math.pow(ri,2); expression.append("+").append((op == 0) ? Complexers.divide(ri) : Complexers.root(ri));
String back = "sqrt(" + squared + ")";
expression.append("+").append(back);
System.out.println("Less than"); System.out.println("Less than");
} }
if (eval(expression.toString()) > target) { if (eval(expression.toString()) > target) {
int f = random.nextInt(9)+1; expression.insert(0,"(").append(")");
int doubled = ri * f; expression.append("-").append((op == 0) ? Complexers.divide(ri) : Complexers.root(ri));
String back = "(" + doubled + "/" + f +")";
expression.insert(0,"(");
expression.append(")").append("-").append(back);
System.out.println("Greater than"); System.out.println("Greater than");
} }
} }
@@ -66,36 +64,5 @@ public class Main {
return expression.toString(); return expression.toString();
} }
public static double eval(String expression) {
Expression exp = new ExpressionBuilder(expression).build();
return exp.evaluate();
}
/*
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
while (true) {
System.out.println("Enter a target Integer: ");
if (reader.hasNextInt()) {
int target = reader.nextInt();
String obfuscatedExpression = generateObfuscatedExpression(target);
Expression exp = new ExpressionBuilder(obfuscatedExpression).build();
if (exp.evaluate() == target) {
System.out.println("Target Integer: " + target + "\n" +
"Output is Verified Correct!\n" +
"Expression: " + obfuscatedExpression);
} else {
System.out.println("Target Integer: " + target + "\n" +
"INCORRECT OUTPUT GENERATED!\n" +
"Expression: " + obfuscatedExpression);
}
} else {
System.out.println("Exiting the program.");
break;
}
}
reader.close();
}
*/
} }