Tilføjelsesprogram i Java
Tilføjelsesprogram i Java | Et tilføjelsesprogram i Java er grundprogrammet, som bruges til at introducere for begyndere. Tilføjelsesprogrammet i Java tilføjer blot to tal og viser dem på outputskærmen.
Tilføjelse af to numre i Java uden brug af Scanner
Det er et simpelt Java-additionsprogram, der tilføjer to tal og viser resultaterne. Værdierne er hardkodet af programmøren.
public class Addition {
public static void main(String[] args) {
// declare variables
int num1, num2, sum;
// take two numbers
num1 = 10;
num2 = 20;
// calculate sum value
sum = num1 + num2;
// display the sum value
System.out.println("Sum = " + sum);
}
}
Output:-
Sum =30
I dette program tager vi tre variabler af int-datatypen. Variablenes navne er num1, num2 og sum. Efter at have erklæret variablerne initialiseres num1 og num2 variabler med henholdsvis 10 og 20. Variablerne num1 og num2 holder værdien af input. Efter initialisering af variablerne beregnes summen som num1 + num2. Til sidst vises sumværdien ved hjælp af println()-metoden i System-klassen.
Simpelt Java-program til at tilføje to numre
I det forrige program er værdierne af tal hardkodet. Men vi kan også overføre disse værdier dynamisk til programmet. Der er forskellige måder at få input fra brugeren i Java. I nedenstående program bruger vi Scanner-klassen til at tage input fra brugeren.
For at få input fra brugeren først skal vi importere Scanner-klassen som nedenfor:-import java.util.Scanner;
Efter import kan vi oprette et objekt af Scanner-klassen, som vil blive brugt til at få input fra brugeren som:- Scanner scan = new Scanner(System.in);
Her, Scanner er en klasse, scanningen er en brugerdefineret identifikator og ny er et nøgleord, der bruges til at skabe et objekt. For hver type datatype er der angivet en separat metode.
Datatype | Metode |
byte | nextByte() |
kort | nextShort() |
int | nextInt() |
lang | nextLong() |
float | nextFloat() |
dobbelt | nextDouble() |
Simpelt Java-program til at tilføje to numre
import java.util.Scanner;
public class Addition {
public static void main(String[] args) {
// create Scanner class object
// to take the input
Scanner scan = new Scanner(System.in);
// declare variables
int number1, number2, sum;
// take input for first number
System.out.print("Enter first number: ");
number1 = scan.nextInt();
// take input for second number
System.out.print("Enter second number: ");
number2 = scan.nextInt();
// calculate the sum
sum = number1 + number2;
// display the result
System.out.println("Sum = " + sum);
}
}
Output:-
Indtast første tal:15
Indtast andet tal:25
Sum =40
Indtast første tal:-50
Indtast andet tal:75
Sum =25
I ovenstående program tager vi to heltalsdatatyper som input. Vi kan også tage dobbelt datatype som input, til dette formål skal du blot bruge metoden nextDouble(). Ovenstående program kan skrives på forskellige måder. Nedenstående program tager flydende kommatal og viser summen til outputskærmen.
import java.util.Scanner;
public class Addition {
public static void main(String[] args) {
// create Scanner class object
// to take input values
Scanner scan = new Scanner(System.in);
// declare variables
double number1, number2, sum;
// take input values
System.out.print("Enter two floating-point numbers: ");
number1 = scan.nextDouble();
number2 = scan.nextDouble();
// display result
System.out.println("Sum = " + (number1 + number2));
}
}
Output:-
Indtast to flydende decimaltal:12,5 17,5
Sum =30,0
Indtast to flydende decimaltal:25,2 8,1
Sum =33,3
Tilføjelse af to numre i Java ved hjælp af metode
Ved hjælp af metoden kan vi også beregne summen af to tal. Metoder ligner funktioner i C/C++. den tager parametre og returnerer en værdi til opkaldsmetoden. Nedenstående program bruger en metode add() til at beregne summen af to tal. Add()-metoden tager to dobbelte datatypeværdier, beregn sumværdien og returner den til kaldermetoden.
import java.util.Scanner;
public class Addition {
public static void main(String[] args) {
// create Scanner class object
// to take input values
Scanner scan = new Scanner(System.in);
// declare variables
double num1, num2, sum;
// take input values
System.out.print("Enter two floating-point numbers: ");
num1 = scan.nextDouble();
num2 = scan.nextDouble();
// method call
sum = add(num1, num2);
// display result
System.out.println("Sum = " + sum);
}
// method to add two numbers
private static double add(double n1, double n2) {
// calculate sum and return it
return n1 + n2;
}
}
Sum af to tal ved hjælp af kommandolinjeargumenter i Java
Kommandolinjen bruges til at sende argumenterne ved kørselstidspunktet. I lighed med andre metoder er main() også en metode med en specialitet, at hver Java-programudførelse starter med hovedmetoden. Main()-metoden tager String-array-værdien som input og returnerer void, dvs. ingenting.
De beståede parametre er i String, så først skal vi konvertere den til faktisk værdi og derefter beregne sumværdien.
public class Addition {
public static void main(String[] args) {
// declare variables
int num1, num2, sum;
// convert to int value
num1 = Integer.parseInt(args[0]);
num2 = Integer.parseInt(args[1]);
// calculate sum
sum = num1 + num2;
// display result
System.out.println("Sum = " + sum);
}
}
Mens du udfører dette program, skal du videregive værdierne.
> javac Addition.java
> java Addition 10 20
30
Hvis du ikke sender præcis to argumenter, vil det kaste java.lang.ArrayIndexOutOfBoundsException.
> java Addition 10
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1
at Addition.main(Addition.java:10)
Vi har kun bestået én værdi, men vores program beregner summen af to tal. Da det andet tal ikke er givet, så giver det en undtagelse.
På samme måde, hvis den beståede værdi ikke er et tal, kan JVM ikke konvertere til et tal og kaster java.lang.NumberFormatException
> java Addition a b
Exception in thread "main" java.lang.NumberFormatException: For input string: "a"
at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:68)
Da a og b ikke er et tal, er det derfor, vi har en undtagelse.