gpt4 book ai didi

java - System.out.println 打印字符串,但 System.out.print 不打印

转载 作者:行者123 更新时间:2023-12-01 07:02:25 24 4
gpt4 key购买 nike

我正在尝试将单词存储在 java 数组中以逗号分隔的文件中
该文件是

年龄、收入、学生、信用评级、类别:购买电脑

年轻、高、不、一般、不

年轻、高、无、优秀、无

中年、高、无、优秀、无

高级、中级、否、一般、是

高级、低、是、一般、是

高级、低、是、优秀、否

public class Test {
public static void main(String args[]) throws FileNotFoundException, IOException{
FileInputStream f=new FileInputStream("F:\\pr\\src\\dmexam\\inp2.txt");
int size,nr=7,nc=5,j=0,i=0;
char ch;
String table[][]=new String[nr][nc];
size=f.available();
table[0][0]=new String();
while(size--!=0){
ch=(char)f.read();
if(ch=='\n')
{
i++;
if(i>=nr)
break;
table[i][0]=new String();
j=0;
continue;

}
if(ch==',')
{
j++;
table[i][j]=new String();
continue;
}
table[i][j]+=ch;
}
f.close();
System.out.println("The given table is:::---");
for(i=0;i<nr;i++){
for(j=0;j<nc;j++){
System.out.print(" "+table[i][j]);
System.out.print(" ");
}
}
}
}

但是输出是

The given table is:::---

但是如果for像这样改变

System.out.println("The given table is:::---");
for(i=0;i<nr;i++){
for(j=0;j<nc-1;j++){
System.out.print(" "+table[i][j]);

System.out.print(" ");
}
System.out.println(table[i][nc-1]);
}

输出为

The given table is:::---Age Income Student Credit Rating Class: Buys Computer

Youth high No Fair No

Youth high No Excellent No

Middle aged high No Excellent No

Senior medium No Fair Yes

Senior Low Yes Fair Yes

Senior Low Yes Excellent No

我想知道“为什么 System.out.print 不起作用???”...

最佳答案

PrintStream that System.out uses有一个内部缓冲区,因为写入标准输出相对昂贵 - 您不一定要为每个字符执行此操作。当您写入换行符时,该缓冲区会自动刷新,这就是 println 导致文本出现的原因。如果没有换行符,您的字符串只会位于缓冲区中,等待刷新。

您可以通过调用 System.out.flush() 强制手动刷新.

关于java - System.out.println 打印字符串,但 System.out.print 不打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39109779/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com