Нужна помощь с этой задачей. Как я могу сравнить строку два и строку три, где строка три должна быть обратной, офлайн, строка 2 для успешной печати?
input:
Первая строка вход содержит одно целое число 1≤?≤20. Каждая из двух следующих строк содержит строку, содержащую только символы 0 и 1. Первая из этих строк представляет биты файла перед удалением, а вторая - биты в той же позиции на жестком диске после удаления файла. Длина этих строк одинакова и составляет от 1 до 1000 символов.
output:
Вывести одну строку, содержащую либо слова «Удаление успешно завершено», если каждый бит переключается ? раз или «Ошибка удаления», если это не так.
Таким образом, вход будет выглядеть примерно так:
1
10001110101000001111010100001110
01110001010111110000101011110001
, и если строка вторая и три одинаковые (только третья строка перевернута из второй строки), тогда o utput будет:
Deletion succeeded
, если input это:
20
0001100011001010
0001000011000100
Если вторая и третья строки не совпадают, то вывод будет:
Deletion failed
Обратите внимание, что первая строка может состоять только из цифр от 1 до 20 и строки два и три только из строки с 1 и 0.
Вот что у меня есть:
import java.util.Scanner;
public class A {
public static void main(String args[])
{
Scanner sc = new Scanner(System.in);
int level = sc.nextInt();
if (level >= 1 && level <= 20) {
System.out.println(level);
}
String reverse = "";
String validering;
String line1 = sc.next();
String line2 = sc.next();
// Reverse
for(int i = line1.length() - 1; i >= 0; i--)
{
reverse = reverse + line1.charAt(i);
}
System.out.print(reverse);
if (line1.equals(reverse)) {
System.out.println("Deletion succeeded");
}
else if (!line1.equals(reverse)) {
System.out.println("Deletion failed");
}
}
}