☕ Java Pa help po sa java

Final project po namin to tapos kailangan namin gumawa ng calculator pero ganito ung gusto e perform sa calcu namin..

JFORM po yung paggawa ng calcu

a. (8+9)*10/2
b. 8+9x10/2
c. 1+1+1+0 (put a space after 0)
d. (space) (space) +1+0
e. /*+-

sana may naka tulong kahit sa number 1 lng
Screenshot_20240120-162428.jpg
 
Para sa inyong final project na calculator, maaari kang gumamit ng Java upang maiproseso ang mga E×ρréššion at makuha ang tamang mga sagot. Narito ang isang halimbawa ng isang simpleng Java code na maaaring magamit mo bilang pundasyon para sa iyong proyekto:

Java:
import java.util.*;

public class Calculator {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Enter an E×ρréššion: ");
        String E×ρréššion = scanner.nextLine();
        scanner.close();
        
        double result = calculate(E×ρréššion);
        System.out.println("Result: " + result);
    }
    
    public static double calculate(String E×ρréššion) {
        try {
            // Magproseso ng mga operators sa E×ρréššion gamit ang order of operations (PEMDAS o BIDMAS)
            E×ρréššion = E×ρréššion.replace(" ", ""); // Alisin ang mga espasyo sa E×ρréššion
            E×ρréššion = E×ρréššion.replace("x", "*"); // Palitan ang 'x' ng '*' upang maging valid na operator
            E×ρréššion = E×ρréššion.replace(",", "."); // Palitan ang ',' ng '.' upang maging decimal separator
            
            // Magcompute ng E×ρréššion gamit ang built-in JavaScript engine
            javax.script.ScriptEngineManager manager = new javax.script.ScriptEngineManager();
            javax.script.ScriptEngine engine = manager.getEngineByName("JavaScript");
            Object result = engine.eval(E×ρréššion);
            
            return Double.parseDouble(result.toString());
        } catch (Exception e) {
            System.out.println("Error: Invalid E×ρréššion");
            return Double.NaN; // Ibalik ang NaN (Not a Number) kung ang E×ρréššion ay hindi wasto
        }
    }
}

Sa code na ito, ginagamit ang java.util.Scanner upang makuha ang input ng E×ρréššion mula sa user. Ang calculate method ay nagpapakita ng mga hakbang sa pagproseso ng E×ρréššion at pagkuha ng tamang sagot.

Upang sumagot sa mga halimbawang E×ρréššion na ibinigay mo, maaari mong tawagin ang calculate method at ipadala ang E×ρréššion bilang argumento. Halimbawa:

Java:
public class Calculator {
    public static void main(String[] args) {
        double resultA = calculate("(8+9)*10/2");
        System.out.println("Result for (8+9)*10/2: " + resultA);
        
        double resultB = calculate("8+9*10/2");
        System.out.println("Result for 8+9*10/2: " + resultB);
        
        double resultC = calculate("1+1+1+0");
        System.out.println("Result for 1+1+1+0: " + resultC);
        
        double resultD = calculate("  +1+0");
        System.out.println("Result for   +1+0: " + resultD);
        
        double resultE = calculate("/*+-");
        System.out.println("Result for /*+-: " + resultE);
    }
    
    // calculate() method implementation here...
}

Maaari mong i-customize ang code na ito upang madagdagan ng iba pang mga pag-andar na nais mo sa iyong kalkulator. Mag-ingat lamang sa paggamit ng ScriptEngine para sa pag-evaluate ng E×ρréššion, at siguraduhing hindi ito magdulot ng mga panganib sa seguridad.
 

Similar threads

About this Thread

  • 1
    Replies
  • 336
    Views
  • 1
    Participants
Last reply from:
Unknown user

Trending Topics

Online now

Members online
335
Guests online
1,111
Total visitors
1,446

Forum statistics

Threads
2,273,575
Posts
28,950,428
Members
1,235,837
Latest member
ninzi
Back
Top