A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

class Test
{
public static void main(String[] args)
{
  int num1,num2,sum;

  num1 = Integer.parseInt(s[0]);
  num2 = Integer.parseInt(s[1]);
  
  sum = num1 + num2;
  System.out.println(num1+"+"+num2+"="+sum);
}
}

/*
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
        at Test.main(Test.java:7)

一直很郁闷,后来一看,哈 从屏幕上直接输入数字就可以了,如下:
C:\Users\lyme\Desktop>javac Test.java

C:\Users\lyme\Desktop>java Test 2 4

2+4=6.

有时很简单的问题,却搞得很复杂.


3 个回复

倒序浏览
本帖最后由 王海宇 于 2012-9-25 12:14 编辑

弱弱的问一下,s[0]、s[1]指的是args[0]、args[1]吗?这样写也行吗?还有你说的那个屏幕,应该是命令行窗口吧。。一开始我以为你的意思是直接在桌面上输入数字就可以。。
回复 使用道具 举报
s[0],s[1]是main中的参数,在cmd中运行文件时当传入的参数
回复 使用道具 举报
纠个错:上面的 num1 = Integer.parseInt(s[0]); num2 = Integer.parseInt(s[1]);中的s[0],s[1]应该改成args[0],args[1],当时没有保存就直接写上了,给大家道歉.

否则会出现:

C:\Users\lyme\Desktop>javac Test.java
Test.java:7: 错误: 找不到符号
                num1 = Integer.parseInt(s[0]);
                                        ^
  符号:   变量 s
  位置: 类 Test
Test.java:8: 错误: 找不到符号
                num2 = Integer.parseInt(s[1]);
                                        ^
  符号:   变量 s
  位置: 类 Test
2 个错误

输入数值是在dos命令行里输入的.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马