Я пытаюсь сохранить слова в файле разделенных коме в массиве Java
ФайлSystem.out.println печатает строку, но System.out.print не
Возраст, доход, студент , кредитный рейтинг, Класс: Покупает Компьютер
молодежи, высокий, нет, ярмарка, No
молодежи, высокий, нет, отлично, нет
средних лет, высокий, нет, отлично, нет
старший, средний, Нет, ярмарка, да
Старший, низкий, да, ярмарка, да
Старший, низкий, да, отлично, нет
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(" ");
}
}
}
}
Но выход не
Данная таблица является ::: ---
Но если для изменяется как этот
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]);
}
Выход
Данная таблица ::: --- Возраст доход Студент кредитный рейтинг Класс: Покупает Компьютер
молодежи высокого Нет Fair нет
молодежи высокой нет Отлично нет
Среднего возраста с высоким нет Отличный нет
Старший среда Нет Fair Да
Старший Низкий Да Fair Да
Старший Низкий Да Отличный Нет
Я хочу знать «почему System.out.print не workig ??? «...
Я собираюсь остановить вас прямо там и передать вас в [Stringbuilder] (http://docs.oracle.com/javase/7/docs/api/java/lang/StringBuilder.html) –
Почему вы хотите чтобы сделать вашу жизнь труднее и читать текст как отдельный символ (особенно с потоками, которые должны обрабатывать данные как байты, а не как текст, так как одиночный символ не нужно писать в один байт)? У нас есть Читатели для обработки данных чтения в виде текста. С помощью 'BufferedReader' вы можете читать строки как строки без помощи метода readLine(). Существует также «Сканер», который предоставляет такие методы, как 'nextLine()' 'nextInt' и т. Д. Для других типов (просто знайте: http://stackoverflow.com/q/13102045). – Pshemo