Free tutorials & notes in Hindi & English · Clean code examples 🧰 मुफ़्त PDF और फ़ोटो टूल्स →
📘 Lesson  ·  Lesson 56

Calculator (Switch)

हम क्या बना रहे हैं

Calculator दो numbers और एक operator (+, -, *, /) लेकर result दिखाता है। Java में यह बढ़िया छोटा project है जो Scanner input, switch statement, और divide by zero को सरल error handling एक साथ लाता है।

💡 यहाँ switch आदर्श है — हम एक value (operator) की कई exact cases से तुलना करते हैं।

switch logic

double a = 10, b = 5;
char op = '+';
double result = 0;

switch (op) {
    case '+': result = a + b; break;
    case '-': result = a - b; break;
    case '*': result = a * b; break;
    case '/': result = a / b; break;
    default:  System.out.println("Invalid operator");
}
System.out.println(result);
15.0

switch op को एक case से मिलाता है और वो operation चलाता है। हर case break पर ख़त्म होता है, और default अनजान operator पकड़ता है।

पूरा program

import java.util.Scanner;

public class Calculator {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        double a = sc.nextDouble();
        char op = sc.next().charAt(0);
        double b = sc.nextDouble();
        double result = 0;

        switch (op) {
            case '+': result = a + b; break;
            case '-': result = a - b; break;
            case '*': result = a * b; break;
            case '/':
                if (b == 0) { System.out.println("Cannot divide by zero"); return; }
                result = a / b; break;
            default: System.out.println("Invalid operator"); return;
        }
        System.out.println("Result: " + result);
    }
}
Result: 2.0

हम Scanner से दो numbers और operator पढ़ते हैं, switch से operation चुनते हैं, और result print करते हैं। divide case पहले zero जाँचता है।

Divide by zero संभालना

case '/':
    if (b == 0) {
        System.out.println("Cannot divide by zero");
    } else {
        result = a / b;
    }
    break;

शून्य से भाग संभालना ज़रूरी है वरना program error देता है। हम भाग से पहले if (b == 0) जाँचते हैं और साफ़ message दिखाते हैं। आप ArithmeticException भी catch कर सकते हैं।

while (true) {
    // a, op, b पढ़ो और switch से गणना करो...
    System.out.print("Another? (y/n): ");
    if (!sc.next().equals("y")) break;
}
System.out.println("Goodbye");

while (true) loop user को कई calculations करने देता है। हर result के बाद, पूछिए और चाहते हैं या नहीं; "y" के अलावा कुछ भी loop break करके ख़त्म करता है।

आम गलतियाँ

  • break भूलना। इसके बिना, switch अगले case में fall through करता है।
  • Divide by zero न जाँचना। हमेशा भाग को guard कीजिए।
  • Operator गलत पढ़ना। एक char को sc.next().charAt(0) इस्तेमाल कीजिए।
  • कोई default case नहीं। Invalid operators को default से संभालिए।

सारांश

  • Calculator operator के आधार पर operation चुनता है — switch के लिए बढ़िया।
  • Scanner (nextDouble, next) से input पढ़िए।
  • हर case एक operation करता है और break पर ख़त्म होता है।
  • divide case को zero से guard कीजिए।
  • User को दोहराने देने को while loop जोड़िए।

आगे, switch गहराई से सीखिए switch-case से, या input पढ़िए Scanner से।

अक्सर पूछे जाने वाले प्रश्न (FAQ)

Java में calculator कैसे बनाऊँ?
Scanner से दो numbers और एक operator पढ़िए, फिर operator पर switch इस्तेमाल करके मेल खाता operation (+, -, *, /) चलाइए। Result print कीजिए। यह input, switch और सरल error handling जोड़ता है।
Calculator को if-else के बजाय switch क्यों?
Calculator एक value (operator) की कई fixed options से तुलना करता है, जो बिल्कुल switch का काम है। यह लंबी else-if श्रृंखला से साफ़ और पढ़ने में आसान है।
Java में divide by zero कैसे संभालूँ?
भाग से पहले जाँचिए divisor शून्य तो नहीं, या ArithmeticException catch कीजिए। program crash होने देने के बजाय "cannot divide by zero" जैसा message दिखाइए।
Java calculator में numbers कैसे पढ़ूँ?
Scanner इस्तेमाल कीजिए: numbers को nextDouble() और operator character को next()। java.util.Scanner import करना और new Scanner(System.in) बनाना याद रखिए।
Calculator को दोहराने वाला कैसे बनाऊँ?
Logic को loop में लपेटिए, जैसे while (true), और quit करने का विकल्प दीजिए। हर result के बाद पूछिए user और calculation चाहता है या नहीं, और रुकने चुनने पर break कीजिए।
← Back to Java Tutorial
🔗

Share this topic with a friend

यह topic किसी दोस्त को भेजें

Found it useful? Send it to a classmate learning the same thing.

अच्छा लगा? जो दोस्त यही सीख रहा है, उसे भेज दीजिए।

💻 लाइव कोड एडिटर

इस पेज के प्रोग्राम यहीं तैयार हैं — चलाएँ, बदलें और सीखें। कुछ भी इंस्टॉल किए बिना।
OneCompiler द्वारा संचालित। कोड एडिटर में अपने आप आ जाता है — Run दबाकर आउटपुट देखें। अगर एडिटर न खुले तो नए टैब में खोलें.
अगला topicJDBC MySQL Connection आपकी प्रगति: 56 / 61 (92%) · Lesson 57 / 61 आगे बढ़ें →

यह lesson कैसा लगा?

आपकी राय से हम content और बेहतर बनाते हैं।

अपना review और सुझाव लिखें (वैकल्पिक)

Review approve होने के बाद आपका नाम और शहर इसके साथ public दिख सकते हैं। Email या phone न लिखें।

▶ CodingEasily on YouTube

Video से सीखें – आसान Hindi में

चुनी हुई video: RDBMS भाग 3 – Class XI Commerce IT

▶ Channel subscribe करें