今天出了一个 Java 笔试题(语法题),有兴趣的同学来做做😄

2018-05-08 23:50:00 +08:00
 Cbdy

第一问

写一个 Java 类,满足以下条件

assert new F().apply(1).get() == 1;
assert new F().apply(1).apply(2).get() == 5;
assert new F().apply(1).apply(2).apply(3).get() == 14;

第二问

写一个 Java 类,满足以下条件

var f = new F();
assert f.apply(1).get() == 1;
var c = f.apply(1);
assert c.apply(2).get() == 5;
assert c.apply(2).apply(3).get() == 14;

第三问

写一个 Java 类,不使用 Java 类的成员变量( Field ),满足第二问条件


答案

7250 次点击
所在节点    Java
46 条回复
unlimitedsola
2018-05-10 07:24:45 +08:00
爱招谁招谁去+1
CRVV
2018-05-10 12:29:58 +08:00
真看不出来是求平方和

满足 0 0 1->1, 0 1 2 -> 5, 1 2 3 -> 14 的还可以是
5 * x1 + 3 * x2 + x3
3 * x1 + x2 + x3 ** 2
-7 * x1 - 3 * x2 + x3 ** 3

看到这种题目,我的第一反应都是
public_class_F_{
____private_int_v;
____public_F_apply(int_x)_{
________if_(x_==_1)_{
____________v_=_1;
________}
________if_(x_==_2)_{
____________v_=_5;
________}
________if_(x_==_3)_{
____________v_=_14;
________}
________return_this;
____}
____public_int_get()_{
________return_v;
____}
}
hubin0203
2018-05-10 16:18:55 +08:00
public class F {

int result;

static int preResult;

class InnerClass{

int temp;

public InnerClass(int temp) {
this.temp = temp;
}

InnerClass apply(int a){
result = a * a;
return new InnerClass(result);
}

int get(){
result += preResult;
preResult = result;
return result;
}
}

InnerClass apply(int a){
result = a * a;
return new InnerClass(result);
}
}

这些题是招几年 JAVA 的哦==
kiddult
2018-05-10 19:56:05 +08:00
@Cbdy 你答案也是用了内部匿名类,只不过变量 v 没有显式放到 Field 而已
Cbdy
2018-05-11 10:47:03 +08:00
@kiddult 对呀😄
kiddult
2018-05-11 19:24:36 +08:00
@Cbdy 内部匿名类在实现的时候,是吧局部变量当构造器的参数传进去了,然后在里面维护了一套 Field,本质上只是少写了一些字

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/453263

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX