gpt4 book ai didi

java - 我收到以下代码的数组索引越界错误...为什么?

转载 作者:行者123 更新时间:2023-12-01 11:33:37 27 4
gpt4 key购买 nike

为什么我的数组索引超出了此代码的范围?我在线程 MainJava.Lang.ArrayIndexOutOfBoundsException 中收到错误异常

//java calculator
public class Calculator
{
public static void main(String[] args)
{
double a,b,m;
char c;
a=Double.parseDouble(args[0]);//taking input from command line
c=args[1].charAt(0);
b=Double.parseDouble(args[2]);
switch(c)//using switch to perform calc operations
{
case('+'):
m=a+b;
System.out.println(args[0]+args[1]+args[2]+"="+m);
break;
case('-'):
m=a-b;
System.out.println(args[0]+args[1]+args[2]+"="+m);
break;
case('*'):
m=a*b;
System.out.println(args[0]+args[1]+args[2]+"="+m);
break;
case('/'):
m=a/b;
System.out.println(args[0]+args[1]+args[2]+"="+m);
break;
default:
System.out.println("invalid option");
}
}

}

最佳答案

如果您传递命令行参数,代码可以正常工作。

您可以通过右键单击 Eclipse 中的 Calculator.java 文件并以 > 运行配置来运行来向类添加参数。在里面,您可以单击参数选项卡并将参数手动添加到程序参数中。

或者,您可以在命令提示符下运行它并以这种方式传递参数。

在命令行上:java Calculator 5 + 1

更多详细信息请参见:https://docs.oracle.com/javase/tutorial/essential/environment/cmdLineArgs.html

如果您不打算使用命令行参数,则可以使用 Scanner 对象来设置变量 a、b 和 c。

Scanner input = new Scanner(System.in);
a = input.nextDouble();
c = input.next().charAt(0);

关于java - 我收到以下代码的数组索引越界错误...为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30221020/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com