1.下面输出结果是什么?

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的值。

2.下面输出结果是什么?

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。线程会先执行。

3.以下代码有哪些错误?

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会报空指针异常。

4.list集合与string的相互转换

 List list=new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
//list转string字符串
StringBuilder string=new StringBuilder();
for(int i=0;i<list.size();i++) {
string.append(list.get(i));
if(i<list.size()-1) {
string.append(",");
}
}
System.out.println(new String(string));
//string转list
List moduleList= Arrays.asList(modules.split(","));

5.按下面的图案打印10行

分析:图案每一行的第一个和最后一个元素都是1,然后从第二行开始,每行的元素是他上一行对应的列与此列前面的那个数之和。

 public static void sanjiaoxing(){
int i, j;
int N=11;
int a[][]=new int[N][N];
for (i = 0; i < N; i++) {
a[i][i] = 1;
a[i][0] = 1;
}
for (i = 2; i < N; i++) {
for (j = 1; j <= i - 1; j++) {
a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
}
}
for (i = 0; i < N; i++) {
for (j = 0; j < i; j++) {
System.out.print(" " + a[i][j]);
}
if(i!=0)System.out.println();
}
}

6.分桃子吃

海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子

把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?

public class Test {

    static final int num=5;//猴子数量

    public static void main(String args[]) {
int total=6;//最后至少有6个
while (true){
if(isDivision(total)){
break;
}
total++;
}
System.out.println(total);
} public static boolean isDivision(int n){
int i=0;
while(i<num&&n>0){
if((n-1)%5==0){
int temp=(n-1)/5+1;
n-=temp;
i++;
}else{
return false;
}
}
return true;
}
}

7.

最新文章

  1. Servlet实现asp.net中的Global.asax启动事件(Servlet和Listener使用)
  2. NBUT 1535
  3. HDU2639Bone Collector II[01背包第k优值]
  4. Android自动化测试之Monkey Test 安装(二)
  5. Oracle TDE的数据加密示例并用logminer验证加密效果
  6. Spring AOP 实现原理与 CGLIB 应用
  7. Redis性能测试工具benchmark简介
  8. JS调用腾讯接口获取天气
  9. html页面head区域的编码书写规范
  10. css-a:visited
  11. BZOJ1511: [POI2006]OKR-Periods of Words
  12. 解决android TextView多行文本(超过3行)使用ellipsize属性无效问题
  13. 1107: 单向公路(bfs+输入整理)(DFS也可以,而且更快)
  14. Silverlight——施工计划日报表(一)
  15. 使用C#系统服务定时执行操作
  16. 【DeepLearning】深入理解dropout正则化
  17. 数据分片一致性hash
  18. hibernate框架学习之数据抓取(加载)策略helloworld
  19. 笔记 : win8系统中的VM虚拟机的Ubuntu搭建samba服务
  20. NumPy 从已有的数组创建数组

热门文章

  1. WPF权限控制——【2】模块、菜单、按钮
  2. Python: 捕获正在运行的CMD窗口内容
  3. 和我一起理解js中的事件对象
  4. P4254 [JSOI2008]Blue Mary开公司 (李超树)
  5. 【noi 2.6_7113】Charm Bracelet(DP)
  6. P1439 【模板】最长公共子序列(DP)
  7. Tomacat目录以及服务器配置文件信息
  8. cs寄存器
  9. Nestjs入门学习教程
  10. 国产网络损伤仪SandStorm -- 基本概念:什么是仿真引擎