一.
public class Something {
public static void main(String[] args) {
Other o = new Other();
new Something().addOne(o);
}
public void addOne(final Other o) {
o.i++;
}
}
class Other {
public int i;
}
正确吗? 如果不正确 为什么 如果正确 输出结果是多少 这个题目 我看了 网上的解答 有几点疑问:
1. Other o = new Other(); 和
o = new Other();有什么区别?
为什么常量对象还可以++操作啊?
2.static 函数中 不是只能调静态函数吗? 但是public void addOne 不是静态的啊?
二.
给你一个StringBuffer 字符串s 函数名 int StringReverse();
要求:
自己实现一个reverse()函数(反向输出)
不能使用库函数直接实现!
三
finalize final finally 的区别
四
先发 这三道吧 谢谢啦
------解决方案--------------------
1. Other o = new Other(); 和
o = new Other();有什么区别?
—— 你至少要定义变量吧?或者分成两行也是可以的:
—— Other o;
—— o = new Other();
为什么常量对象还可以++操作啊?
—— 常量对象只是不能动它自身,属性随便动,也就是不允许: o = null; 或者 o = new Object();
2.static 函数中 不是只能调静态函数吗? 但是public void addOne 不是静态的啊?
—— 显然无此说法,你理解错误了。
------解决方案--------------------
二.给你一个StringBuffer 字符串s,函数名 int StringReverse();
要求:自己实现一个reverse()函数(反向输出);不能使用库函数直接实现!
这个。。。感觉你是不是中间有段打错字的,但是反向输出并不难,你也不要太懒了吧。。。
public static StringBuffer reverse(StringBuffer sb) {
StringBuffer ret = new StringBuffer();
for (int i = sb.length()-1; i >=0; i--) ret.append(sb.get(i));
return ret;
}
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
- Java code
/*给你一个StringBuffer 字符串s 函数名 int StringReverse(); 要求:自己实现一个reverse()函数(反向输出)不能使用库函数直接实现!*/class StringReverseDemo { public static StringBuffer s = new StringBuffer(new String("abcdefg")); public static void main(String[] args) { StringReverseDemo.stringReverse(); System.out.println(s.toString()); } public static void stringReverse() { for(int i=0;i<s.length()/2;i++) { int index = s.length() - i - 1; char temp = s.charAt(index); s.setCharAt(index,s.charAt(i)); s.setCharAt(i,temp);//交换对应字符 } }}