добрый день! помогите разобраться с условием, что именно требуется? "все байты из файла1 записываем в файл2, но при этом меняем ИХ местами по такому принципу: первый со вторым, третий с четвёртым и т. д"
Кого их? Байты только из файла1 меняем, а из файла2 оставляем как есть?
hidden #3319921
27 уровень
не понимаю условие
Обсуждается
Комментарии (10)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #3319921
14 февраля 2024, 17:51
Исправила код, но все равно не проходит
0
Boriss
15 февраля 2024, 13:40
Нужен весь ваш код тут
0
hidden #3319921
15 февраля 2024, 18:00
public class Solution {
public static void main(String[] args) {
//напишите тут ваш код
Scanner scanner = new Scanner(System.in); //видела, что в другой задаче данные строчки записаны в скобках после try
String sc1 = scanner.nextLine();
String sc2 = scanner.nextLine();
try (var input = Files.newInputStream(Paths.get(sc1)); //что такое Paths.get?? взяла из след. задачи
var output = Files.newOutputStream(Paths.get(sc2))
) {
byte[] buffer = Files.readAllBytes(Paths.get(sc1));
int size = buffer.length;
byte tmp;
int j=0;
for (int i=1; i<size; i+=2) {
if (i<size) {
j=i-1;
tmp = buffer[i];
buffer[i] = buffer[j];
buffer[j] = tmp;
}
}
output.write(buffer, 0, size);
}
catch (Exception e) {
}
}
}
0
hidden #3319921
18 февраля 2024, 11:35
package com.javarush.task.pro.task15.task1504;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Scanner;
/*
Перепутанные байты
*/
public class Solution {
public static void main(String[] args) {
//напишите тут ваш код
Scanner scanner = new Scanner(System.in); //видела, что в другой задаче данные строчки записаны в скобках после try
String sc1 = scanner.nextLine();
String sc2 = scanner.nextLine();
try (var input = Files.newInputStream(Paths.get(sc1)); //что такое Paths.get?? взяла из след. задачи
var output = Files.newOutputStream(Paths.get(sc2))
) {
byte[] buffer = Files.readAllBytes(Paths.get(sc1));
int size = buffer.length;
byte tmp;
int j=0;
for (int i=1; i<size; i+=2) {
if (i<size) {
j=i-1;
tmp = buffer[i];
buffer[i] = buffer[j];
buffer[j] = tmp;
}
}
output.write(buffer, 0, size);
}
catch (Exception e) {
}
}
}
0
Boriss
11 февраля 2024, 09:03
Добрый день! Мне кажется вы всё очень усложнили. Зачем вам буфер считывать? Разве программа не может без него обойтись? :)
0
Zixail
10 февраля 2024, 18:53
если число было 123456, то во второй файл надо записать 214365
а если нечетное количество символов, допустим abcdefg, то во второй файл надо записать badcfeg
первый файл никак не изменяется, мы лишь берем из него поток байтов
0
hidden #3319921
11 февраля 2024, 08:32
тогда тем более не понимаю, почему второе условие не проходит .....
0
Zixail
11 февраля 2024, 08:34
я запускал твой код
из 1234567 там по-моему выходило 6543217
0
Zixail
11 февраля 2024, 08:38
да сверил, как писал выше при нечетном количестве элементов такой вывод
при четном, т. е при 1234567 - 654321
0
Zixail
11 февраля 2024, 08:40
мой блок кода в try выглядит так
0