void f(int i){
      for(int i=0;i<3;i++){
         System.out.println("love");
      }
   }

解决方案 »

  1.   

    形参是局部变量。
    而for(){}是块变量。
    不矛盾啊
      

  2.   

    同一个方法内 定义了2个变量....for里面的i 报错 .. 换一个变量名
      

  3.   

    编译器提示 for(int i=0;i<3;i++){在void f(int i){
    重复定义
      

  4.   


    java不允许这样。有些其它语言,则在编译时报告警告信息。
      

  5.   

    发在JAVA板块,那么它就是错误的。别谈别的语言错不错。在中国强奸就是犯罪的。
      

  6.   

    形参的作用域在整个方法f,包括for在内,所以重复定义了
      

  7.   

    楼上的我赞同,FOR中用其它变量定义不就行了吗,何必费那么多事!
      

  8.   

    都不明白干什么的?void f(int i){...}
    谁能说下是什么东西?方法?他没有修饰符。构造方法?貌似构造方法不能有返回值。
    菜鸟求问!谁能解释下这是什么东西????
      

  9.   

    没有修饰符也是可以的,是默认default修饰,本类可见,本报可见,其余不可见
      

  10.   

    for(int i=0;i<3;i++){
      

  11.   

    java的类默认为public。没什么问题。然后把一个参数的i为args就可以了啊!
      只是。楼主想说明什么东西呢。(我只是菜鸟)
      

  12.   

    我的意思,JAVA变量分成四种:
    静态变量》 实例变量》局部变量 》 块变量。
    互相之间不矛盾的。
    为什么for()里边的块变量就不能与外部局部变量一致 了呢。
    要高手出现了。
      

  13.   

    不知道楼主是不是仅想实现输出3次love,不怎么看的懂
      

  14.   

    java中的作用域其实很简单,那即是你无论在什么地方,作用域其实就是个闭合的{},也就是说,你无论是用什么循环、开关、判断等等语句,这都和作用域无关,真正有关系的是一个闭合的{},凡是在{}中定义的变量离开{}就失效!——http://www.delphibbs.com/keylife/iblog_show.asp?xid=1425 for(int i=0;i<3;i++) int i = 0  这个行在for的{}外。(个人见解)
      

  15.   

    i 被重复定义了,   void f(){
          for(int i=0;i<3;i++){
             System.out.println("love");
          }
       }这样
      

  16.   


    class T {
        static String CLASS_VARIABLE = "ClassVariable"; // CLASS_VARIABLE: class variable - 类变量(静态变量)    public T(String name) { // name: Constructor parameters - 构造器的参数
            this.name = name;
        }    String name = "instanceVariable"; // name : instance variable - 实例变量    int[] array = new int[10]; // array[1]: array component - 数组分量    String setName(String str) { // str: method parameter - 方法参数
            try {
                String oldName = this.name; // oldName : local variable - 本地变量(局部变量) 
                this.name = str;
                return oldName;
            }catch(Exception e) { // e: exception-handler parameter - 异常处理函数的参数
                //TODO:
            }       
        }
    }这是Java中的7中变量,没你说的“块变量”
    BTW: 你所说的“块变量”i (for(int i=0;i<3;i++){}) 这个也是本地变量
      

  17.   

    干嘛两次定义i变量?java不允许吧
      

  18.   

     void f(int i){
          for(i=0;i<3;i++){
             System.out.println("love");
          }
       }
    这样写是正确的!
      

  19.   

    就一个错误啊:Duplicate local variable i
    java中不允许代码快中的变量来隐藏快外的变量的,而是直接报变量重复定义
      

  20.   

     for(int i=0;i<3;i++){
    在一个方法里是不能重复定义一个变量的。
      

  21.   

    估计是要对某个MM say love 
      

  22.   

    来,加点料 void f(int i){
          for(i=0;i<3;i++){
           int i =3;
             System.out.println("love");
          }
       }又能说明什么?
      

  23.   

    @sothisyang 
    void f(int i){
    for(i=0;i<3;i++){
    int i =3;
    System.out.println("love");
    }
    }又能说明什么?@nan125001930 大家都看出来了嘛,就是i你重新定义了。就是,都是局部变量(或参数变量),作用域都是一样的,当然不能重新定义。
    还有,貌似Java中没有块变量的
      

  24.   

    int i重复定义,运行时肯定报错啊。
      

  25.   

    IE浏览器下JS里会报错但是换成火狐或者对js兼容性更好的浏览器可能不会报错,但是有运行的问题。
      

  26.   

    没有修饰符也是可以的,是默认default修饰记得上次做一个面试题这个基本的默认修饰咱写的是public(呵呵,咱就一小白) 今天再一次的在这里学习了,是default!!!
      

  27.   

    java  不允许 重复声明变量