黑马程序员技术交流社区

标题: 定义变量出错问题 [打印本页]

作者: java--周群    时间: 2014-1-19 11:24
标题: 定义变量出错问题
for(int start = 0,int end = str1.length()-1;start<=end;start++)
          {
                  System.out.println(chs[start]);
          }


为何会报错?

String08.java:71: 错误: 需要<标识符>
      for(int start = 0,int end = str1.length()-1;start<=end;start++)
                        ^
String08.java:71: 错误: 不是语句
      for(int start = 0,int end = str1.length()-1;start<=end;start++)
                                                       ^
String08.java:71: 错误: 需要')'
      for(int start = 0,int end = str1.length()-1;start<=end;start++)
                                                            ^
String08.java:71: 错误: 需要';'
      for(int start = 0,int end = str1.length()-1;start<=end;start++)
                                                                    ^
4 个错误


作者: 透过生活    时间: 2014-1-19 11:28
length后没有()
作者: 淡夜清风    时间: 2014-1-19 11:47
for(int start = 0, end = str1.length-1;start<=end;start++)
作者: 快乐的黑马    时间: 2014-1-19 11:49
我是没看出来。
作者: 快乐的黑马    时间: 2014-1-19 11:52
可能是for循环不可以这么定义
作者: xu6148152    时间: 2014-1-19 12:03
有定义str1数组?
我怎么看着你是用chs数组?
chs.length()-1
作者: java--周群    时间: 2014-1-19 12:33
省略了上面的,str1是定义的一个字符串,chs是把str1的字符串变成了字符数组,
作者: java--周群    时间: 2014-1-19 12:36
淡夜清风 发表于 2014-1-19 11:47
for(int start = 0, end = str1.length-1;start

str1是我定义的一个字符串,要字符串的长度,就是length().
作者: java--周群    时间: 2014-1-19 12:37
透过生活 发表于 2014-1-19 11:28
length后没有()

为什么不需要呢?

str1是我定义的一个字符串,要字符串的长度,就是length().
作者: 淡夜清风    时间: 2014-1-19 12:52
淡夜清风 发表于 2014-1-19 11:47
for(int start = 0, end = str1.length-1;start


for(int start = 0, end = str1.length()-1;start<=end;start++)
作者: 黄晓鑫    时间: 2014-1-19 13:17
多定义了一个int
作者: java--周群    时间: 2014-1-19 14:29
黄晓鑫 发表于 2014-1-19 13:17
多定义了一个int

是的,后来改了就发现了。
作者: 三十而立    时间: 2014-1-20 09:10
本帖最后由 三十而立 于 2014-1-20 09:16 编辑

int start = 0, int end = str1.length()-1;
1. 问题主要出在end的定义那里
int int end = str1.length()-1;
该语句,java虚拟机在编译时,把int end作为变量名来处理,而java语法中规定不可以使用关键字来定义标示符。
所以发生错误,
2. 解决办法
解决办法非常简单,就是把end变量前的int关键字删除即可。

作者: java--周群    时间: 2014-1-20 10:54
三十而立 发表于 2014-1-20 09:10
int start = 0, int end = str1.length()-1;
1. 问题主要出在end的定义那里
int int end = str1.length()- ...

嗯嗯  这个语法规范记住了
作者: s476596497    时间: 2014-1-20 11:26
int start = 0,这是一个完整的语句,要么用分号隔开,要么后面不要int




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2