|
DEMO: demo/08-array/15-cmd-line-args/Hello.java
|
|
DEMO: demo/08-array/15-cmd-line-args/CommandArgs.java
|
|
|
DEMO: demo/08-array/15-cmd-line-args/Calculator1.java
Let's write the Calculator program:
public class Calculator
{
public static void main( String[] args )
{
int a = Integer.parseInt( args[0] ); // First number
int b = Integer.parseInt( args[2] ); // Second number
int result = 0;
switch ( args[1].charAt(0) )
{
case '+' -> result = a + b;
case '-' -> result = a - b;
case '*' -> result = a * b;
case '/' -> result = a / b;
}
System.out.println(a + " " + args[1] + " " + b + " = " + result);
}
}
|
(1) Convert the first number string in args[0] to an integer a:
public class Calculator
{
public static void main( String[] args )
{
int a = Integer.parseInt( args[0] ); // First number
int b = Integer.parseInt( args[2] ); // Second number
int result = 0;
switch ( args[1].charAt(0) )
{
case '+' -> result = a + b;
case '-' -> result = a - b;
case '*' -> result = a * b;
case '/' -> result = a / b;
}
System.out.println(a + " " + args[1] + " " + b + " = " + result);
}
}
|
(2) Convert the second number string in args[2] to an integer b:
public class Calculator
{
public static void main( String[] args )
{
int a = Integer.parseInt( args[0] ); // First number
int b = Integer.parseInt( args[2] ); // Second number
int result = 0;
switch ( args[1].charAt(0) )
{
case '+' -> result = a + b;
case '-' -> result = a - b;
case '*' -> result = a * b;
case '/' -> result = a / b;
}
System.out.println(a + " " + args[1] + " " + b + " = " + result);
}
}
|
(3) Perform the operation indicated by the string in args[1]:
public class Calculator
{
public static void main( String[] args )
{
int a = Integer.parseInt( args[0] ); // First number
int b = Integer.parseInt( args[2] ); // Second number
int result = 0;
switch ( args[1].charAt(0) )
{
case '+': result = a + b; break;
case '-': result = a - b; break;
case '.': result = a * b; break;
case '/': result = a / b; break;
}
System.out.println(a + " " + args[1] + " " + b + " = " + result);
}
}
|
Note: we have to use . to indicate multiplication because * has a special meaning
(4) Finally, print the answer:
public class Calculator
{
public static void main( String[] args )
{
int a = Integer.parseInt( args[0] ); // First number
int b = Integer.parseInt( args[2] ); // Second number
int result = 0;
switch ( args[1].charAt(0) )
{
case '+': result = a + b; break;
case '-': result = a - b; break;
case '.': result = a * b; break;
case '/': result = a / b; break;
}
System.out.println(a + " " + args[1] + " " + b + " = " + result);
}
}
|
DEMO: demo/08-array/15-cmd-line-args/Calculator.java