首页 > 编程语言 > 详细

java程序题

时间:2019-10-10 22:35:38      阅读:92      评论:0      收藏:0      [点我收藏+]
public class Test {
    public static void main(String[] args) {
        Person person=new Person("张三");
        change(person);
        System.out.println(person.name);
    }
    public static void change(Person person) {
        Person person2=new Person("李四");
        person=person2;
    }
}
public class Person {
    String name;
    public Person(String name) {
        this.name = name;
    }
}

答案:张三。原因是change的方法又创建了一个对象,是不同的对象,所以不能改变name的值。

 

public class Test2 {
    public static void main(String[] args) {
        Thread thread=new Thread() {
            public void run() {
                pong();
            }
        };
        thread.run();
        System.out.print("ping");
    }
    public static void pong() {
        System.out.print("pong");
    }
}

答案:pongping。线程会先执行。

 

public static int getIndexOfArray(float[] f) {
        int rtn=-1;
        float objf=3.4;
        List list=null;
        for (int i = 0; i < f.size(); i++) {
            list.add(f[i]);
        }
        for (int i = 0; i < list.size(); i++) {
            float temp=(float) list.get(i);
            if(objf==temp) {
                rtn=i;
            }
        }
        return rtn;
    }

以上代码有哪些错误?

答案:1)3.4改为3.4f,这里需要进行强转;

      2)f.size()改为f.length,数组的长度用length属性;

   3)list=null 要改为new ArrayList<>();不然list.add会报空指针异常。

 

java程序题

原文:https://www.cnblogs.com/zys2019/p/11650529.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!