CodeGym /ื‘ืœื•ื’ Java /Random-HE /ื—ืจื™ื’ ื–ืจื™ืงืช Java
John Squirrels
ืจึธืžึธื”
San Francisco

ื—ืจื™ื’ ื–ืจื™ืงืช Java

ืคื•ืจืกื ื‘ืงื‘ื•ืฆื”
ื‘ื›ืœ ืžืงื•ื ืืœื™ื• ืื ื• ื”ื•ืœื›ื™ื, ืžื—ื›ื™ื ืœื ื• ืื™ืจื•ืขื™ื ื‘ืœืชื™ ืฆืคื•ื™ื™ื. ืจืขื™ื“ื•ืช ืื“ืžื”, ืคืขื•ืœื•ืช ืœื ืจืฆื™ื•ื ืœื™ื•ืช ืฉืœ ืื ืฉื™ื, ืžื˜ืื•ืจื™ื˜ื™ื... ืื• ืžืฉื”ื• ืคืฉื•ื˜ ื™ื•ืชืจ - ื ื•ืจื” ื ืฉืจืคืช, ื›ืจื˜ื™ืก ื‘ื ืง ืžืชื‘ื˜ืœ, ืžื“ ื“ืœืง ื ืฉื‘ืจ. ืื ื—ื ื• ืœื ื™ื›ื•ืœื™ื ืœื”ืฉื‘ื™ืช ืื™ืจื•ืขื™ื ื‘ืœืชื™ ืฆืคื•ื™ื™ื, ืื‘ืœ ืื ื—ื ื• ื™ื›ื•ืœื™ื ืœืคื—ื•ืช ืœื”ื™ื•ืช ืžื•ื›ื ื™ื ื—ืœืงื™ืช ืืœื™ื”ื. ื›ืœื•ืžืจ, ืขืœื™ื ื• ืœื”ื›ื™ืŸ ืžื ื’ื ื•ื ื™ื ืžืกื•ื™ืžื™ื ืœื”ืชืžื•ื“ื“ ืื™ืชื. ื‘ืขื•ืœื ื”ืชื›ื ื•ืช, ื“ื•ื•ืงื ื‘ืฉืคืช Java, ืื™ืจื•ืขื™ื ืฉืžื•ื ืขื™ื ืžืชื•ื›ื ื” ืœืคืขื•ืœ ื›ืจื’ื™ืœ ื ืงืจืื™ื ื—ืจื™ื’ื™ื, ื•ื”ืžื ื’ื ื•ื ื™ื ืœืžื ื™ืขืช ืงืจื™ืกื•ืช ืชื•ื›ื ื” ื ืงืจืื™ื ื˜ื™ืคื•ืœ ื—ืจื™ื’. ืœื›ืŸ, ื›ืืฉืจ ืžืชืจื—ืฉ ืื™ืจื•ืข ื‘ืœืชื™ ืฆืคื•ื™ ื‘ืชื•ื›ื ื™ืช, ื›ื’ื•ืŸ ื—ืœื•ืงื” ื‘ืืคืก, ื”ื™ื ืฆืจื™ื›ื” "ืœื–ืจื•ืง" ื—ืจื™ื’ื”. ื˜ื™ืคื•ืœ ื‘ื—ืจื™ื’ื™ื ื”ื•ื ื”ื™ื‘ื˜ ื—ืฉื•ื‘ ื‘ืชื›ื ื•ืช Java ื”ืžืกื™ื™ืข ืœืžืคืชื—ื™ื ืœื ื”ืœ ืฉื’ื™ืื•ืช ื•ื—ืจื™ื’ื™ื ืฉืขืœื•ืœื™ื ืœื”ืชืจื—ืฉ ื‘ืžื”ืœืš ื‘ื™ืฆื•ืข ืชื•ื›ื ื™ืช. ื‘ืžืืžืจ ื–ื” ื ืชืžืงื“ ื‘ืื—ื“ ืžื”ืžื•ืฉื’ื™ื ื”ื‘ืกื™ืกื™ื™ื ืฉืœ ื˜ื™ืคื•ืœ ื‘ื—ืจื™ื’ื™ื: ืžื™ืœืช ื”ืžืคืชื— Java throw ื•ื›ื™ืฆื“ ืœื”ืฉืชืžืฉ ื‘ื” ื›ื“ื™ ืœื”ืฉืœื™ืš ื—ืจื™ื’.

ืžื” ื–ื” ื—ืจื™ื’ ื‘-Java?

ื—ืจื™ื’ ื”ื•ื ืื™ืจื•ืข ื”ืžืชืจื—ืฉ ื‘ืžื”ืœืš ื‘ื™ืฆื•ืข ืชื•ื›ื ื™ืช ื”ืžืฉื‘ืฉ ืืช ื”ื–ืจื™ืžื” ื”ืจื’ื™ืœื” ืฉืœ ื”ื•ืจืื•ืช ื”ืชื•ื›ื ื™ืช. ื›ืืฉืจ ืžืชืจื—ืฉ ื—ืจื™ื’, ื”ืคืขืœืช ื”ืชื•ื›ื ื™ืช ื ืขืฆืจืช, ื•ื”ื•ื“ืขืช ื”ืฉื’ื™ืื” ืžื•ืฆื’ืช ื‘ืžืกื•ืฃ. ื‘-Java, ื™ืฉื ื ืฉื ื™ ืกื•ื’ื™ื ืฉืœ ื—ืจื™ื’ื™ื: ืžืกื•ืžื ื™ื ื•ืœื ืžืกื•ืžื ื™ื. ื—ืจื™ื’ื™ื ืžืกื•ืžื ื™ื ื ื‘ื“ืงื™ื ื‘ื–ืžืŸ ื”ื”ื™ื“ื•ืจ, ื•ื”ืžื”ื“ืจ ืžื•ื•ื“ื ืฉื”ื ื ืชืคืกื™ื ืื• ืžื•ื›ืจื–ื™ื ืขืœ ื™ื“ื™ ืฉื™ื˜ืช ื”ืงืจื™ืื”. ืžืฆื“ ืฉื ื™, ื—ืจื™ื’ื™ื ืœื ืžืกื•ืžื ื™ื ืื™ื ื ื ื‘ื“ืงื™ื ื‘ื–ืžืŸ ื”ื”ื™ื“ื•ืจ, ื•ื ื™ืชืŸ ืœืชืคื•ืก ืื•ืชื ืื• ืœื”ืฉืื™ืจ ืื•ืชื ืœื ื ืชืคืกื™ื. ื”ื ื” ื“ื•ื’ืžื” ืœืงื•ื“ ืฉื‘ื• ืขืฉื•ื™ื” ืœื”ืชืจื—ืฉ ืฉื’ื™ืื”, ืืš ื”ืžื”ื“ืจ ืžื“ืœื’ ืขืœื™ื”.
public class Factorial {
   public static long getFactorial(final int number) {
           long fact = 1;
           for (int i = 1; i <= number; i++) {
               fact = fact * i;
           }
           return fact;
   }

   public static void main(String[] args) {
       System.out.println(getFactorial(-5));
       System.out.println(getFactorial(21));

   }

}
ืœื”ืœืŸ ื”ืคืœื˜ ืฉืœ ื”ืชื•ื›ื ื™ืช:
1 -4249290049419214848
ื”ืชื•ื›ื ื™ืช ื™ืฆืื” ื›ืจืื•ื™, ืืš ื”ื ื™ื‘ื” ืชื•ืฆืื” ืฉื’ื•ื™ื”. ื‘ืžืงืจื” ื”ืจืืฉื•ืŸ, ื›ื™ ืืจื’ื•ืžื ื˜ ื”ืคื•ื ืงืฆื™ื” ื”ื™ื” ืฉืœื™ืœื™, ื•ื”ืคืงื˜ื•ืจื™ ืœื ืขื•ื‘ื“ ืขื‘ื•ืจ ืžืกืคืจื™ื ืฉืœื™ืœื™ื™ื. ื‘ืžืงืจื” ื”ืฉื ื™, ื”ืชื•ืฆืื” ื”ื™ื™ืชื” ืฉื’ื•ื™ื”, ืžื›ื™ื•ื•ืŸ ืฉื”ืžืกืคืจ ื’ื“ื•ืœ ืžื›ื“ื™ ืœืกืคื•ืจ ืืช ื”ืคืงื˜ื•ืจื™ืืœื™ ืฉืœื• ื‘ื˜ื•ื•ื— ื”ืกื•ื’ ื”ืืจื•ืš. ื”ื ื” ืขื•ื“ ื“ื•ื’ืžื”. ื ื›ืชื•ื‘ ืชื•ื›ื ื™ืช ืฉื‘ื” ื ื—ืœืง ืžืกืคืจ ืื—ื“ ื‘ืžืกืคืจ.
public class DivisionExample {

       public static void main(String[] args) {
           int a = 10;
           int b = 0;
           int result = divide(a, b);
           System.out.println(result);
       }

       public static int divide(int a, int b) {
           return a / b;
       }
}
ื‘ื“ื•ื’ืžื” ื–ื•, ืชื•ืฆื ืืจื™ืชืžื˜ื™ืช ื—ืจื™ื’ื” ืžื›ื™ื•ื•ืŸ ืฉื”ืžืฉืชื ื” b ื”ื•ื ืืคืก. ืขื ื–ืืช, ืฉื’ื™ืื” ื–ื• ืื™ื ื” ืžื˜ื•ืคืœืช, ื›ืš ืฉื”ืชื•ื›ื ื™ืช ื™ื•ืฆืืช ืขื ืกื˜ื˜ื•ืก ืฉื’ื•ื™.

ืื™ืš ืœื–ืจื•ืง ื—ืจื™ื’ ื‘ื’'ืื•ื•ื”

ื‘-Java, ื—ืจื™ื’ื™ื ื”ื ื’ื ืื•ื‘ื™ื™ืงื˜ื™ื, ืื– ื—ืจื™ื’ ื ื–ืจืง ื‘ื“ื™ื•ืง ื›ืžื• ืื•ื‘ื™ื™ืงื˜ ื—ืจื™ื’ ื—ื“ืฉ ืฉื ื•ืฆืจ. ื—ืจื™ื’ ื ื–ืจืง ื‘ืชื•ื›ื ื™ืช ื‘ืืžืฆืขื•ืช ื”ืฆื”ืจืช throw. ื‘ื“ืจืš ื›ืœืœ, ืฉืชื™ ื”ืคืขื•ืœื•ืช ื”ืœืœื• (ื™ืฆื™ืจืช ืื•ื‘ื™ื™ืงื˜ ื•ื”ืฉืœื›ืช ื—ืจื™ื’) ืžืฉื•ืœื‘ื•ืช ืœืื—ืช:
throw new Exception("errorโ€ฆ");
ืžื™ืœืช ื”ืžืคืชื— throw ื‘-Java ืžืฉืžืฉืช ื›ื“ื™ ืœื–ืจื•ืง ื—ืจื™ื’ ืžืฉื™ื˜ื” ืื• ื‘ืœื•ืง ืงื•ื“ ื›ืืฉืจ ืžืชืจื—ืฉืช ืฉื’ื™ืื” ืื• ืžืฆื‘ ื—ืจื™ื’ ืฉื”ืชื•ื›ื ื™ืช ืœื ื™ื›ื•ืœื” ืœื”ืชืžื•ื“ื“ ืขื ื‘ื–ืžืŸ ื”ืจื™ืฆื” . ื–ืจื™ืžืช ื”ืชื•ื›ื ื™ืช ืžื ื•ืชื‘ืช ืœื’ื•ืฉ ื”-catch ื”ืงืจื•ื‘ ื‘ื™ื•ืชืจ. ื‘ืœื•ืง ื–ื” ื™ื›ื•ืœ ืœื ื”ืœ ืืช ื”ื—ืจื™ื’ื”.

ื“ื•ื’ืžื” ืœืฉื™ืžื•ืฉ ื‘ืžื™ืœืช ื”ืžืคืชื— 'ื–ืจื•ืง'

ื›ื“ื™ ืœื”ืžื—ื™ืฉ ืืช ื”ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ืฉืœ ืžื™ืœืช ื”ืžืคืชื— throw ื‘-Java, ื ื™ืงื— ื“ื•ื’ืžื”. ื‘ื•ื ื ื›ืชื•ื‘ ืฉื™ื˜ื” ืœื—ื™ืฉื•ื‘ ื”ืคืงื˜ื•ืจื™ืืœื™ ืฉืœ ืžืกืคืจ. ืื ื”ืžืกืคืจ ืฉืœื™ืœื™, ืœื ื ื™ืชืŸ ืœื—ืฉื‘ ืื•ืชื•, ื•ืœื›ืŸ ื™ืฉ ืœื–ืจื•ืง ื—ืจื™ื’. ื‘ืื•ืคืŸ ื“ื•ืžื”, ืื ื”ืžืกืคืจ ื’ื“ื•ืœ ืžื“ื™, ื”ืชื•ืฆืื” ื”ืคืงื˜ื•ืจื™ืช ืชื—ืจื•ื’ ืžื”ื’ื•ื“ืœ ื”ืžืจื‘ื™ ืฉืœ ืกื•ื’ ืืจื•ืš, ื•ื™ื•ืฆืืช ื“ื•ืคืŸ ื ื•ืกืคืช. ื›ืืŸ ื™ืฉ ืœื ื• ื™ื™ืฉื•ื ืฉืœ ื”ืฉื™ื˜ื”:
public Class Factorial {

public static long getFactorial(final int number) {
   if ((number >= 0) && (number < 21)) {
       long fact = 1;
       for (int i = 1; i <= number; i++) {
           fact = fact * i;
       }
       return fact;
   } else {

//throw new exception here
       throw new IllegalArgumentException("THe argument isn't legal");
   }
}

 public static void main(String[] args) {
       System.out.println(getFactorial(-5));
       System.out.println(getFactorial(21));

   }
}
ื‘ื“ื•ื’ืžื” ื–ื•, ืื ื”ืขืจืš ืฉืœ ืžืกืคืจ ื”ื•ื ืฉืœื™ืœื™, ืžื™ืœืช ื”ืžืคืชื— throw ืžืฉืžืฉืช ื›ื“ื™ ืœื–ืจื•ืง ืžื•ืคืข ืฉืœ ื”ืžื—ืœืงื” IllegalArgumentException . ืื ืชืคืขื™ืœ ืืช ื”ืชื•ื›ื ื™ืช, ื”ื”ื•ื“ืขื” "ื”ืืจื’ื•ืžื ื˜ ืื™ื ื• ื—ื•ืงื™" ืชื•ืฆื’ ื‘ืžืกื•ืฃ. ื”ืคืขืœืช ื”ืชื•ื›ื ื™ืช ืชื™ืขืฆืจ.

ืื™ืŸ ืขื•ื“ ืฉื’ื™ืื•ืช: ืชื•ืคืกื™ื ื“ื•ื’ืžื” ื—ืจื™ื’ื”

ื›ืขืช ื ื–ื›ื™ืจ ืืช ื”ื“ื•ื’ืžื” ื”ืฉื ื™ื™ื”, ืขื ื—ืœื•ืงื” ื‘ืืคืก, ื•ื ื‘ืฆืข ืื•ืชื” ืขื ื˜ื™ืคื•ืœ ื—ืจื™ื’.
public class DivisionExample {

    public static void main(String[] args) {
        int a = 10;
        int b = 0;
        try {
            int result = divide(a, b);
            System.out.println(result);
        } catch (ArithmeticException e) {
            System.out.println("Error: division by zero");
        }
    }

    public static int divide(int a, int b) {
        return a / b;
    }
}
ื‘ื“ื•ื’ืžื” ื–ื•, ื”ื•ืกืคื ื• ืžื‘ื ื” try-catch ื›ื“ื™ ืœื˜ืคืœ ื‘ื—ืจื™ื’ ื”ื—ืœื•ืงื” ื‘ืืคืก. ื‘ืงืฆืจื”, try-catch-finally ื”ื•ื ืžื‘ื ื” ืฉืคืช ืชื›ื ื•ืช Java ื”ืžืืคืฉืจ ืœืš ืœื˜ืคืœ ื‘ื—ืจื™ื’ื™ื ื•ืœื”ืคืขื™ืœ ืงื•ื“ ืœืœื ืงืฉืจ ืื ื”ืชืจื—ืฉ ื—ืจื™ื’ ืื• ืœื. try-catch-ื‘ืกื•ืคื• ืฉืœ ื“ื‘ืจ ืžื•ืจื›ื‘ ืžืฉืœื•ืฉื” ื‘ืœื•ืงื™ื:
  • ื—ืกื™ืžืช ื”ื ื™ืกื™ื•ืŸ . ืงื•ื“ ืฉืขืœื•ืœ ืœื”ื™ื•ืช ืžืกื•ื›ืŸ ืžื•ืคืขืœ ื›ืืŸ. ื–ื” ืงื•ื“ ืฉื™ื›ื•ืœ ืœื–ืจื•ืง ื—ืจื™ื’. ืื ืžืชืจื—ืฉ ื—ืจื™ื’ ื‘ืชื•ืš ื‘ืœื•ืง try , ื‘ื™ืฆื•ืข ื”ืงื•ื“ ื‘ืื•ืชื• ื‘ืœื•ืง ืžื•ืคืกืง, ื•ื”ืฉืœื™ื˜ื” ืžื•ืขื‘ืจืช ืœื‘ืœื•ืง ื”-catch.
  • ื‘ืœื•ืง ื”ืžืœื›ื•ื“ . ื›ืืŸ ืžื˜ื•ืคืœ ื”ื—ืจื™ื’ ืฉื ื–ืจืง. ื‘ื‘ืœื•ืง ื”- catch , ืืชื” ื™ื›ื•ืœ ืœืฆื™ื™ืŸ ืื™ื–ื” ื—ืจื™ื’ ืœืชืคื•ืก ื•ืื™ื–ื” ื”ื™ื’ื™ื•ืŸ ืœื‘ืฆืข ื›ืืฉืจ ื”ื•ื ื ืชืคืก.
  • ื”ื—ืกื™ืžื” ืœื‘ืกื•ืฃ . ื–ื” ืžื‘ื•ืฆืข ืœืœื ืงืฉืจ ืื ืื™ืจืข ื—ืจื™ื’ ืื• ืœื. ื”ื‘ืœื•ืง ื”ืกื•ืคื™ ืžืฉืžืฉ, ืœืžืฉืœ, ืœืฉื—ืจื•ืจ ืžืฉืื‘ื™ื (ื›ื’ื•ืŸ ืกื’ื™ืจืช ืงื•ื‘ืฅ ืื• ืฉืงืข) ืฉื”ื•ืงืฆื• ื‘ื‘ืœื•ืง ื ื™ืกื™ื•ืŸ. ืืชื” ื™ื›ื•ืœ ืœื”ืฉืžื™ื˜ ืืช ื”ื‘ืœื•ืง ื”ื–ื”.
ื”ืžื‘ื ื” ืฉืœ try -catch-finally ืžืืคืฉืจ ืฉืœื™ื˜ื” ืžื“ื•ื™ืงืช ื™ื•ืชืจ ืขืœ ื‘ื™ืฆื•ืข ื”ืชื•ื›ื ื™ืช ื‘ืžืงืจื” ืฉืœ ืžืฆื‘ื™ื ื—ืจื™ื’ื™ื ื•ืขื•ื–ืจ ืœืžื ื•ืข ืกื™ื•ื ื‘ืœืชื™ ืฆืคื•ื™ ืฉืœ ื”ืชื•ื›ื ื™ืช ื‘ืžืงืจื” ืฉืœ ืฉื’ื™ืื•ืช. ื›ืขืช, ื ื—ื–ื•ืจ ืœื“ื•ื’ืžื ืฉืœื ื•. ืื ืžืชืจื—ืฉืช ื—ืœื•ืงื” ื‘ืืคืก ื‘ืžื”ืœืš ืฉื™ื˜ืช ื”ื—ืœื•ืงื”, ืชื™ื–ืจืง ArithmeticException , ืืฉืจ ื ืชืคืก ืขืœ ื™ื“ื™ ื‘ืœื•ืง ื”-catch. ื‘ื’ื•ืฉ ื”- catch , ืื ื• ืคืฉื•ื˜ ืžื“ืคื™ืกื™ื ื”ื•ื“ืขืช ืฉื’ื™ืื” ืœืงื•ื ืกื•ืœื”. ืื ืœื ืžืชืจื—ืฉืช ื—ืจื™ื’ื”, ื”ืชื•ื›ื ื™ืช ืชืžืฉื™ืš ื‘ื‘ื™ืฆื•ืขื”.

ื–ื•ืจืง ืžื™ืœืช ืžืคืชื—

ืžื™ืœืช ื”ืžืคืชื— ื–ืจื™ืงื” ืžืฉืžืฉืช ื‘ื—ืชื™ืžืช ื”ืฉื™ื˜ื”. ืื ื›ืŸ, ื–ื” ืื•ืžืจ ืฉื ื–ืจืง ื—ืจื™ื’ ื‘ืฉื™ื˜ื”. ื–ื” ื™ื›ื•ืœ ืœื”ืคื™ืฅ ื—ืจื™ื’ื™ื ื‘ืžืขืœื” ื”ืžื—ืกื ื™ืช ื•ืœื”ืฆื‘ื™ืข ืขืœ ื›ืš ืฉืื™ืŸ ืฆื•ืจืš ืœื˜ืคืœ ื‘ื—ืจื™ื’ื™ื ื‘ืฉื™ื˜ื” ื”ื ื•ื›ื—ื™ืช. ื‘-Java, ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘-"throws" ื’ื ื›ื“ื™ ืœื”ืชื™ื™ื—ืก ืœื—ืจื™ื’ื™ื ืžื•ืชืืžื™ื ืื™ืฉื™ืช ื”ืžื•ื’ื“ืจื™ื ื‘ืชื•ื›ื ื™ืช. ืœื“ื•ื’ืžื”, ืฉื™ื˜ื” ืขืฉื•ื™ื” ืœื‘ืฆืข ื—ืœื•ืงื” ืฉืœ ืฉื ื™ ืžืกืคืจื™ื, ืืš ืœื–ืจื•ืง ื—ืจื™ื’ื” ืฉืœ IllegalArgument ืื ื”ืืจื’ื•ืžื ื˜ ื”ืฉื ื™ ื”ื•ื ืืคืก:
public static double divide(double a, double b) throws IllegalArgumentException {
    if (b == 0) {
        throw new IllegalArgumentException("Division by zero is not allowed");
    }
    return a / b;
}
ืฉื™ื˜ื” ื–ื• ืžืฉืชืžืฉืช ื‘ืžื™ืœืช ื”ืžืคืชื— throws ื›ื“ื™ ืœืฆื™ื™ืŸ ืฉื ื™ืชืŸ ืœื–ืจื•ืง IllegalArgumentException ืื ื”ืืจื’ื•ืžื ื˜ ื”ืฉื ื™ ื”ื•ื null. ืื ื—ืจื™ื’ื” ื›ื–ื• ืžืชืจื—ืฉืช ื‘ื–ืžืŸ ื‘ื™ืฆื•ืข ื”ืฉื™ื˜ื”, ื”ื™ื ืชื•ืขื‘ืจ ืœืฉื™ื˜ืช ื”ืงืจื™ืื” ืœืขื™ื‘ื•ื“. ื“ื•ื’ืžื” ืœืงืจื™ืืช ืฉื™ื˜ื”:
public static void main(String[] args) {
    double result = 0;
    try {
        result = divide(10, 0);
    } catch (IllegalArgumentException e) {
        System.out.println("Error: " + e.getMessage());
    }
    System.out.println("Result: " + result);
}
ื‘ื“ื•ื’ืžื” ื–ื•, ืžืชื•ื“ื” divide() ื ืงืจืืช ืขื ืืจื’ื•ืžื ื˜ื™ื 10 ื•-0, ืืฉืจ ื™ื–ืจื•ืง ืื™-legalArgumentException ื‘ื’ืœืœ ืฉื—ืœื•ืงื” ื‘ืืคืก ื”ื™ื ื‘ืœืชื™ ืืคืฉืจื™ืช. ื”ื—ืจื™ื’ ื™ื™ืชืคืก ืขืœ ื™ื“ื™ ื‘ืœื•ืง try-catch , ื•ื”ื•ื“ืขืช ืฉื’ื™ืื” ืชื•ืฆื’. ื”ืชื•ื›ื ื™ืช ืชื‘ื™ื ืœืขืจืš ืฉืœ ืืคืก ืžืื—ืจ ื•ื”ื—ืจื™ื’ ืžืกื™ื™ื ืืช ื‘ื™ืฆื•ืข ืฉื™ื˜ืช divide() .
ื”ืขืจื•ืช
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION