如何在java中获取单个输入

如何在java中获取单个输入,java,Java,我试图使用codeintrs=Integer.parseInt(args[0])获取输入但它抛出异常ArrayOutOfBondException。请帮助我代码如下。我只需要在命令行参数中输入一次 package techgig; import java.util.*; public class Techgig { public static int ta[]={1,12,5,111,200,1000,10,9,6,7,4}; public static void main(Stri

我试图使用code
intrs=Integer.parseInt(args[0])获取输入但它抛出异常
ArrayOutOfBondException
。请帮助我代码如下。我只需要在命令行参数中输入一次

package techgig;
import java.util.*;

public class Techgig {


 public static int ta[]={1,12,5,111,200,1000,10,9,6,7,4};


public static void main(String[] args) {
  Vector v = new Vector();    
    // TODO code application logic here
    System.out.println("Amount Mark has:");
    System.out.println("=============================");//here is the code
    int rs=Integer.parseInt(args[0]);
   // int rs=50;
    System.out.print("===============================");
  //int a=0;
    int count=0;
    int min=0,temp,totalamount=0;
  System.out.print("\nToys Available:{");

 for(int a=0;a<ta.length;a++)
 {
     if(a!=0)
     {
         System.out.print(",");
     }
     System.out.print(ta[a]);

 }
 System.out.print("}\n");
 System.out.println("Buy Maximum toys with maximum left");

  for(int i=0;i<ta.length;i++)
  {

  // System.out.print("\t"+ ta[i]);
       for( int j=i+1;j<ta.length;j++)
      {
          if(ta[j]<ta[i])
          {
              temp=ta[j];
              ta[j]=ta[i];
              ta[i]=temp;
          }
         // System.out.print("\t"+ ta[i]);
      }

  }

  for(int k=0;k<ta.length;k++)
  {

      totalamount=min;
     // System.out.print("\t"+ ta[k]);
      min=min+ta[k];
      if(min >rs)
      {
          break;

      }
      count=count+1;
      v.add(ta[k]);
  }

  int sav=0;
  sav=rs-totalamount;
  //System.out.println("Amount Mark has:"+rs);
  System.out.println("Output:{"+v.size()+","+sav+"}");
  System.out.println("Explanation");      
  System.out.println("Maximum number of toys="+v.size()+""+v);
  System.out.println("Saving="+sav);
}
}
packagetechgig;
导入java.util.*;
公共类技术{
公共静态int ta[]={1,12,51111001000,10,9,6,7,4};
公共静态void main(字符串[]args){
向量v=新向量();
//此处的TODO代码应用程序逻辑
System.out.println(“金额标记有:”);
System.out.println(“=====================================”);//这是代码
intrs=Integer.parseInt(args[0]);
//int-rs=50;
系统输出打印(“====================================================”;
//int a=0;
整数计数=0;
最小整数=0,温度,总金额=0;
System.out.print(“\n可用项:{”);

对于(inta=0;a,您需要在运行java程序时传递命令行参数


如果您不传递任何命令行参数,则
args
将是空数组,即长度
0
。从空数组中访问
0
th元素将抛出
ArrayIndexOutOfBoundsException

如果拥有主方法的类的名称是
MyClass.java
,则必须运行类似命令行的程序

java MyClass 12
其中12是传递给程序的命令行参数(您可以尝试使用不同的参数)



注意:当您不传递任何参数,而是访问程序中的args时,如果您想使用
args[0],您将看到此异常源自
您需要将命令行参数传递给程序。如果您是从IDE运行程序,您将获得异常。

如何运行程序?是否向其传递参数?如果不是,为什么会有args[0]?