我被问到几个java面试问题,我不知道怎么解决可以使用一些答案
编写一个接受int的方法,方法就是
public void somemethd(int i){}
现在如果i = 1那么它应该打印为true,如果i = 2则应该打印为false 但你不能使用任何条件运算符,也不能使用if或switch
两个线程如何在彼此之间传递数据,就像让我们说你启动2个线程并且你想让一个线程让另一个线程等待。 他改写了这个问题,使其变得更简单,如果我在1个线程中有变量,我想将它发送到另一个线程怎么做。
如果在基类中有一个非静态方法并且你在派生类中使它成为一个静态方法,你会得到同样的错误,就像你在base中有一个静态方法一样,你试着让它变为非派生类中的静态
不同方法的同名以外的重载有什么用? (我想我应该说构造函数重载但是它没有找到我,还有什么其他的东西)
语法不正确,但你可以假设一切都很好
class base{
show(){
this.mymethod();
}
mymethod(){
/...
}
}
class derived extends base{
show(){
super.mymethod();
}
mymethod(){
/...
}
}
show(){
super.mymethod();
}
mymethod(){
/...
}
}
醇>
答案 0 :(得分:11)
更新的一个解决方案1)
void printIsOne(int n) {
System.out.println("?,true,false".split(",")[n]);
}
2)您无法在线程之间传递局部变量。但是,您可以将值从一个线程传递到另一个线程并让它等待该值。恕我直言:最简单的方法是使用BlockingQueue。
3)在这两种情况下都会出现不同的错误,但基本上你不能在派生类中将其中一个更改为另一个。
4)落后的可比性。你可能有代码,例如大量的测试代码,它使用一组args调用方法,但是您希望以某种方式更改它而不更改现有代码。5)试试吧(提示:某些组合会产生编译错误)
答案 1 :(得分:8)
编写一个接受int和的方法 如果为1则打印为true,如果打印则为false 是的,但你不能使用if或swith或any 条件运算符
我猜你的意思是真的,如果是1,假的是0,在这种情况下你可以这样做:
void printValue(int value)
{
String[] values = { "false", "true" };
System.out.println(values[value]);
}