51,409
社区成员
发帖
与我相关
我的任务
分享public void Method()
{
int i = 1;
while(i <= 9 )
{
int j = 1;
while(j<=i)
{
System.out.print(i*j);
System.out.print("\t");
j++;
j = 1; //死循环
}
i++;
System.out.println();
}
}public void Method()
{
for(int j =1 ;j>0; j++)
{
System.out.print(j);
}
}public void Method()
{
for(int j =1 ;j>0; j++)
{
System.out.println(j);
}
}
public void println(String x) {
synchronized (this) {
print(x);//这个print应该是往里写入内容并输出。
newLine();
}
}
newLine是本类中的私有方法,
private BufferedWriter textOut;
private OutputStreamWriter charOut;
private void newLine() {
try {
synchronized (this) {
ensureOpen();//判断输出流是否为空
textOut.newLine();//换行
textOut.flushBuffer();//flushBuffer这个方法找不到了。估计是刷新输出流往外输出的作用。
charOut.flushBuffer();
if (autoFlush)
out.flush();
}
}
catch (InterruptedIOException x) {
Thread.currentThread().interrupt();
}
catch (IOException x) {
trouble = true;
}
}
ensureOpen方法私有,判断输出流是否为空
private void ensureOpen() throws IOException {
if (out == null)
throw new IOException("Stream closed");
}
然后我们再看newLine方法:
public void newLine() throws IOException {
write(lineSeparator);
}
再看lineSeparator
lineSeparator = java.security.AccessController.doPrivileged(
new sun.security.action.GetPropertyAction("line.separator"));
OK了吧。这里定义一个换行。。。