黑马程序员技术交流社区
标题:
为什么这里面的append方法一直错
[打印本页]
作者:
杨朔
时间:
2012-6-7 18:22
标题:
为什么这里面的append方法一直错
/*
这里面的append方法应该只是StringBuilder的方法,在毕老师的视频里看到的,就是提示有错
*/
import java.io.*;
class LineNumber1{
private Reader r;
private int lineNumber;
LineNumber1(Reader r){
this.r=r;
}
public String myReadLine(){
lineNumber++;
StringBuilder sb=new StringBuilder();
int ch=0;
while((ch=r.read())!=-1){
if(ch=='\r')
continue;
if(ch=='\n')
return sb.toString();
else
return sb.append((char)ch);
}
if(sb.length()!=0)
return sb.toString();
return null;
}
public void setLineNumber(int lineNumber){
this.lineNumber=lineNumber;
}
public int getLineNumber(int lineNumber){
return lineNumber;
}
public void myClose() throws IOException{
r.close();
}
}
public class LineNumber {
public static void main(String[] args) throws IOException {
FileReader fr=new FileReader("E:\\工作区
\\eclipse\\JavaByHand\\src\\LineNumber.java
");
LineNumber1 ln=new LineNumber1(fr);
String line=null;
while((line=ln.myReadLine())!=null){
System.out.println(line);
}
ln.myClose();
}
}
作者:
梁小波
时间:
2012-6-7 18:50
你的append()没有问题。关键是return sb.append();你的函数返回类型貌似是String类型的;append()返回不是String类型
而且你的目的是加字符,也不是返回吧!应该去掉return吧?
作者:
黑马张扬
时间:
2012-6-7 18:54
return sb.append((char)ch).toString();
复制代码
你的这个返回类型不对 你要的返回的是String类型 你不加toString() 他返回的是StringBuilder类型的
加上就可以了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2