Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.04.2013, 00:07   #1
Natkin
Новичок
Джуниор
 
Регистрация: 18.04.2013
Сообщений: 2
По умолчанию Запись в файл

Всем доброго времени суток. Я - новичок, учу джаву. Застопорилась на проблеме записи в файл. Преподаватель хочет через RandomAccess.
Итак, само задание:В файле, содержащем фамилии студентов и их оценки, записать прописными буквами фамилии тех студентов, которые имеют средний бал за национальной шкалой более «4».
А вот мои попытки его реализовать:

Код:
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.Scanner;

public class file{
	public static void main(String[] args) throws IOException {
		
		FileReader text = new FileReader("путь к файлу");
		Scanner text2 = new Scanner(text);
		while (text2.hasNext()) {
			String print =  text2.nextLine();
			System.out.println(print);
			 int a[]= new int[100];
			    int number = 0;
			    int result=0;
			    int avg=0;
			    for (int i = 0; i < print.length(); i++) 
			         if (Character.isDigit(print.charAt(i))){
	number = Integer.valueOf(print.substring(i, i+1)).intValue();
			         a[i]=number;
			         result+=a[i];
			         avg=result/3;
			         
			    System.out.println("Сумма оценок:"+result);
			    System.out.println("Среднее арифметическое:"+avg);
			    if((avg==4)||(avg>4))
			    	System.out.println(print.toUpperCase());
			         }
                      RandomAccessFile raf=new RandomAccessFile(new File ("путь к файлу"), "rw");
			      raf.writeUTF(print);
			    }
			         }
		}
Заранее благодарю



________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 18.04.2013 в 00:33.
Natkin вне форума Ответить с цитированием
Старый 21.04.2013, 17:05   #2
Natkin
Новичок
Джуниор
 
Регистрация: 18.04.2013
Сообщений: 2
По умолчанию

Почти получилось, файл переписывается в конец, но вот беда, каждая строка пишется дважды. Уже мозг сломала, подскажите, в чем дело?
Код:

String test="";
           if(avg>4){
           test=print.toUpperCase();
           }
           
RandomAccessFile raf=new RandomAccessFile(new File("путь к файлу"), "rw");
       raf.skipBytes((int)raf.length());
       raf.writeBytes(test);
       raf.close();
  
	}
	  }
	
	catch (IOException e){

		e.printStackTrace();

	}
      }
    }
Natkin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запись в файл анна2709 Паскаль, Turbo Pascal, PascalABC.NET 0 14.12.2011 19:43
Запись информации в файл в файл Anubys Win Api 0 04.11.2011 23:27
Запись в файл Akimich Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 5 07.08.2010 08:05
запись в файл $_Unit_$ Общие вопросы C/C++ 3 23.06.2009 12:59