黑马程序员技术交流社区

标题: 大家给看一下,为什么x和y的值没有变呢? [打印本页]

作者: 黄晓天    时间: 2011-11-13 13:13
标题: 大家给看一下,为什么x和y的值没有变呢?
package chapter02;

public class Ternary {

        /**
         * @param args
         */
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                int x = 8;
                int y = 11;
                ternary(x);
                prt(x);
                //System.out.println(x);
                alternative(y);
                prt(y);
               

        }
        /**
         * 三元方法
         * @param i
         */
    public static int ternary(int i){
            return i<10 ? i*100 : i*10;
    }
    /**
     * if else 方法
     * @param i
     */
    public static int alternative(int i){
            if(i<10)
                    return i*100;
            return i*10;
    }
    public static void prt(Object obj){
            System.out.println(obj);
    }
}
输出结果为:8,11。但是我想要的是800,110


该贴已经同步到 黄晓天的微博
作者: 黄晓天    时间: 2011-11-13 13:22
为什么x和y的值没有变呢?
作者: bruinchen    时间: 2011-11-13 13:25
我只想说一句:你调用一个你自己写的方法,要明白这个方法到底在做什么。不要想当然的以为它能做什么,或许它不能满足你的想法。
作者: 王新春    时间: 2011-11-13 13:52
这个错误是因为你定义x=8,y=11时,当把x、y传入ternary(x);和alternative(y);时x、y的值变化了,但是当你在打印函数prt();中还是传入的是你最开始定义的x=8,y=11的值,所以打印出来的值就是x=8,y=11,而不是你想要的是800,110
正确的如下:

package chapter02;
public class Text3 {

    /**
     * @param args
     */
         public static void main(String[] args) {
         // TODO Auto-generated method stub
         int x = 8;
         int y = 11;
         ternary(x);
         prt(ternary(x));//这一行参数ternary(x)         
        //System.out.println(x);
         alternative(y);
         prt(alternative(y));//这一行参数是alternative(y)         

}
/**
  * 三元方法
  * @param i
  */
public static int ternary(int i){
     return i<10 ? i*100 : i*10;
}
/**
* if else 方法
* @param i
*/
public static int alternative(int i){
     if(i<10)
             return i*100;
     return i*10;
}
public static void prt(Object obj){
     System.out.println(obj);
}
}
作者: 黄晓天    时间: 2011-11-13 14:12
谢谢了





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