【问题标题】:I'm a beginner here in java oop. my code is showing this error. Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 [duplicate]我是java oop的初学者。我的代码显示此错误。线程“主”java.lang.ArrayIndexOutOfBoundsException 中的异常:0 [重复]
【发布时间】:2018-04-02 15:45:51
【问题描述】:

这是密码 在这里,我想从 cmd 中获取值并使用它来获取输出。如果还有其他问题,请告诉我。谢谢

class Basic
{
int b;
public void gd(int c){
b=c;
}
}


class HRA extends Basic
{

double hra=(0.25*b);

}


class DA extends HRA
{

double da=(0.75*b);

}


class PF extends DA
{

double pf=(0.12*b);

}

class Netsalary extends PF
{

double ns=b+hra+da+pf;

void display()
{

System.out.println("The net salary = "+ns);

}

}


class Netsalmain
{

public static void main(String arb[])
{

int a= Integer.parseInt(arb[0]);

Netsalary ob=new Netsalary();

ob.gd(a);    
ob.display();

}

}

错误显示如下

E:>线程“main”中的 java Netsalmain 异常 java.lang.ArrayIndexOutOfBoundsException: 0 在 Netsalmain.main(iop.java:54)

【问题讨论】:

  • 您没有将任何参数传递给您的程序使用,因此 arb 的大小为 0,因此索引 0 是越界异常

标签: java oop exception


【解决方案1】:

您没有传递命令行参数并尝试访问它,这就是您使数组索引超出范围的原因。 如果您使用的是 IDE,则进入运行配置并提供参数。 如果您尝试通过 cmd 运行,请在运行时提供命令行参数。

【讨论】:

  • 谢谢!这解决了我的问题。
  • 但它显示 0.0 ans。代码还有其他问题吗?
  • b不在我认为的范围内
  • 什么意思?我应该怎么办?你能详细说明一下吗?
  • 这太基础了,如果我告诉你,你可以试着弄清楚你在其他课程中是如何访问 b 的,你不会学的,所以试试它真的很基础。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-12-06
  • 2011-09-09
  • 2016-01-27
  • 1970-01-01
  • 1970-01-01
  • 2013-12-18
相关资源
最近更新 更多