Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки


 
Вернуться
Тема: Подскажите, пожалуйста, как решить такую задачу: есть файл с числовыми данными (сколько их - не извесно!!!), нужно считывать каждое значение для выполнения над ним арифметич. операций.(Работаю на java, Eclipse). И как потом их обратно записать в файл output.txt? Спасибо.
1
  1  Fuck the SiSteM, 26 июня 2011 г. 10:50:56
      спасибо !! очень помогли!!
  2  Ладик Артём, 24 июня 2011 г. 11:24:24
      Во-первых, советую купить книжку по java, или скачать ее с интернета...
Во-вторых, метод next() возвращает следующий токен(токен - строка от текущего положения указателя чтения до первого пробела). В твоем случае если есть строка "1 2 3 4 5", next() вернет "1".
В-третьих, как я уже писал ранее, тебе нужно считать строку, для этого нужно использовать метод nextLine() и тогда твой код заработает... Вот мой фрагмент кода:

String[] arr = sc.nextLine().split(" ");
for(int i = 0; i < arr.length; ++i)
pw.println(arr[i]);

  3  natalo4ka, 23 июня 2011 г. 22:34:47
      Я пробовала так ... Вот мой код (в файле задана последовательность 1 2 4 5 6 7, через пробел), мне вместо этих всех чисел выводит только первую цифру
sc = new Scanner(new File("input.txt"));
String st=sc.next();
String[] tmp = st.split(" ");
for(int i = 0; i < st.length(); i++)
System.out.println(tmp[i]);
Что здесь не так???я много чего не знаю, поетому так много спрашеваю)
  4  Ладик Артём, 23 июня 2011 г. 19:52:48
      как перевести?
String[] arr1 = ...;
int[] arr2 = new int[arr1.length];

for(int i = 0; i < arr1.length; ++i)
arr2[i] = Integer.Parse(arr1[i]);

читать посимвольно можно... System.in.read() - но точно не уверен....
  5  Fuck the SiSteM, 23 июня 2011 г. 18:45:56
      а как перевести массив строк в числа!!?? а можно считать посимвольно на java??
  6  Ладик Артём, 23 июня 2011 г. 13:31:14
      Если что-то не закомпилится, то это я налажал, просто нет под рукой компилера java...
  7  Ладик Артём, 23 июня 2011 г. 13:30:28
      Ты понимаешь что делаешь метод split() ?.. он вернет массив строк... любой массив в java - динамический.. и у него есть свойство - length..
пример
String s = "1 2 3 4 5";
String[] a = s.Split(' ');
a.length - длинна массива...
  8  natalo4ka, 22 июня 2011 г. 21:31:24
      Спасибо!
А если я имею массив неизвестной длины и в файле задается: первая цифра - длина массива, а дальше сам массив, то как мне его считать?
  9  Ладик Артём, 22 июня 2011 г. 13:01:29
      считываешь строку.... применяешь метод split() - получаешь массив строк( одна строка - одно число). Переводишь массив строк в массив чисел... вот и все....
1

Чтобы оставить сообщение необходимо зарегистрироваться и авторизоваться!

Красноярский краевой Дворец пионеров, (c)2006 - 2026, ИНН 246305493507, E-mail: admin@acmp.ru