检查 java 程序中的参数数量
Check the number of arguments in a java program
我有一个 java 程序,它有两个整数作为输入并且必须执行所有四个数学运算。
与此同时,我通过终端 运行 我的 Java 程序,所以这两个整数作为参数传递。但是,每当我尝试检查传递的参数的有效性时,我都会收到一条消息:
(例如,如果我 运行:Java 示例 --> 没有任何参数,我会收到以下消息)
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 at Example.main(Example.java:38)
我的代码如下:
public class Example {
public void Sum(int a, int b) {
int sum = a + b;
System.out.println("The sum:" + sum);
}
public void Sub(int a, int b) {
int sub = a - b;
System.out.println("The subtraction is:" + sub);
}
public void Mul(int a, int b) {
int mul = a * b;
System.out.println("The multiplication is:" + mul);
}
public void Div(int a, int b) {
try {
int div = a / b;
System.out.println("The division is:" + div);
} catch (ArithmeticException e) {
System.out.println("You can't divide a number by 0");
}
}
public static void main(String[] args) {
Example c = new Example();
int count = args.length;
int x = Integer.parseInt(args[0]);
int y = Integer.parseInt(args[1]);
int z = Integer.parseInt(args[1]);
if (count == 0 || count > 2 || count == 1) {
System.out.println("Not valid number of arguments try again. You entered " + count + " arguments");
} else {
c.Sum(x, y);
c.Sub(x, y);
c.Mul(x, y);
c.Div(x, y);
System.out.println("Arguments:" + count);
return;
}
}
}
我在终端上写的是:例如Java 示例 2 3
在尝试访问 args[0]
和 args[1]
之前,您需要确保 args[]
的大小等于 2
。更改main
如下:
public static void main(String[] args) {
Example c = new Example();
int count = args.length;
if (count == 2) {
int x = Integer.parseInt(args[0]);
int y = Integer.parseInt(args[1]);
c.Sum(x, y);
c.Sub(x, y);
c.Mul(x, y);
c.Div(x, y);
System.out.println("Arguments:" + count);
return;
} else {
System.out.println("Not valid number of arguments try again. You entered " + count + " arguments");
}
}
附带说明,您应该遵循 Java naming conventions 例如函数的名称应该是 sum
、sub
、mul
、div
而不是 Sum
、Sub
、Mul
Div
.
我有一个 java 程序,它有两个整数作为输入并且必须执行所有四个数学运算。
与此同时,我通过终端 运行 我的 Java 程序,所以这两个整数作为参数传递。但是,每当我尝试检查传递的参数的有效性时,我都会收到一条消息:
(例如,如果我 运行:Java 示例 --> 没有任何参数,我会收到以下消息)
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 at Example.main(Example.java:38)
我的代码如下:
public class Example {
public void Sum(int a, int b) {
int sum = a + b;
System.out.println("The sum:" + sum);
}
public void Sub(int a, int b) {
int sub = a - b;
System.out.println("The subtraction is:" + sub);
}
public void Mul(int a, int b) {
int mul = a * b;
System.out.println("The multiplication is:" + mul);
}
public void Div(int a, int b) {
try {
int div = a / b;
System.out.println("The division is:" + div);
} catch (ArithmeticException e) {
System.out.println("You can't divide a number by 0");
}
}
public static void main(String[] args) {
Example c = new Example();
int count = args.length;
int x = Integer.parseInt(args[0]);
int y = Integer.parseInt(args[1]);
int z = Integer.parseInt(args[1]);
if (count == 0 || count > 2 || count == 1) {
System.out.println("Not valid number of arguments try again. You entered " + count + " arguments");
} else {
c.Sum(x, y);
c.Sub(x, y);
c.Mul(x, y);
c.Div(x, y);
System.out.println("Arguments:" + count);
return;
}
}
}
我在终端上写的是:例如Java 示例 2 3
在尝试访问 args[0]
和 args[1]
之前,您需要确保 args[]
的大小等于 2
。更改main
如下:
public static void main(String[] args) {
Example c = new Example();
int count = args.length;
if (count == 2) {
int x = Integer.parseInt(args[0]);
int y = Integer.parseInt(args[1]);
c.Sum(x, y);
c.Sub(x, y);
c.Mul(x, y);
c.Div(x, y);
System.out.println("Arguments:" + count);
return;
} else {
System.out.println("Not valid number of arguments try again. You entered " + count + " arguments");
}
}
附带说明,您应该遵循 Java naming conventions 例如函数的名称应该是 sum
、sub
、mul
、div
而不是 Sum
、Sub
、Mul
Div
.