Пожалуйста, дайте мне знать, какие части метода закодированы неправильно, если это возможно, с подсказками, чтобы исправить их ..
Я попытался исправить это, пожалуйста , дайте мне знать, если я нахожусь в правильном направлении при написании моего метода в целом, является ли его логика правильной, а затем какие части нужно переписать и подсказки для них. в этом раскачивании я могу понять лучше
public class check{ public static void main(String[] args){ String a = "abc d"; String b= "abcd fe"; System.out.println(compareString(a,b)); } public static boolean compareString(String a, String b){ // here i try to declare array size i dont know if i can do it in this way ? String c[]= new String [a.length]; String d[]= new String [b.length]; int i=0; int j=0; // here i try to split them and store each char in arrays for ( i=0; i<=a.length;i++){ String c[i] =a.split[" "]; } for (j=0;j<=b.length;b++){ String d [j]=b.split()[" "]; } // here i tried to count matches and add them up plus counting the numer of words int matches=0; int numberOfWords=0; for (i=0;i<=c.length();i++){ for( j=0;j<=d.length;j++){ if (c[i]==d[j]){ matches++; } numberOfWords++; } } // here is it correct to write it this way ? if (match/numberOfwords*100>0.9*100){ return true; { return fales; } } } }
// I tried to fix the errors but it gives another erros .. 2 errors found: File: C:\Users\Acer\Desktop\check.java [line: 17] Error: Syntax error on token "i", delete this token File: C:\Users\Acer\Desktop\check.java [line: 20] Error: Syntax error on token "j", delete this token
...
Напишите метод compare Strings (java), который принимает в качестве входных данных две строки и возвращает логическое значение, представляющее, делает ли ваша программа вывод о том, что эти две строки очень похожи друг на друга. Логический результат true указывает, что строки находятся очень близко друг к другу, а false указывает на обратное. Ваш метод должен определить, что это основано на следующем правиле:
Если по крайней мере 90% слов в первой строке появляются во второй строке и по крайней мере 90% слов во второй строке появляются в первой строке, ваш метод должен возвращать true. В противном случае ваш метод должен возвращать false. чувствительный к регистру,(привет!=привет)
Чтобы проверить ваш метод, как вы его пишете, мы можем написать основной метод, так что вызовите метод из основного метода на различных входах, а затем распечатайте результаты. Нигде в коде мы не должны использовать класс сканера.belwo-это то, что я пробовал :
Я попытался объявить строку [] и с помощью метода split сохранить chcars , а затем сравнить их, но я не знаю, как сравнить 90%, я сравнил весь arrys..
спасибо
Что я уже пробовал:
Цитата:проверка общественного класса{
публичный статический пустота главный(строка[] аргументы){
Строка a = "abc d";
Строка b= "abcd fe";
Системы.из.код println(функции comparestring(а,б));
}
public static boolean compareString(строка a, строка b){
// здесь я пытаюсь объявить размер массива, но не знаю, смогу ли я сделать это таким образом ?
String c[]= новая строка [a.length];
String d[]= новая строка [b.длина];
int i=0;
int j=0;
// здесь я пытаюсь разделить их и сохранить каждый символ в массивах
для ( i=0; i<=a.length;i++){
Строка c[i] =a.split[" "];
}
для (j=0;j<=b.length;b++){
Строка d [j]=b.split()[" "];
}
// здесь я попытался сосчитать спички и сложить их вместе с подсчетом количества слов
int matches=0;
int numberOfWords=0;
for (i=0;i<=c.length();i++){
для( j=0;j<=d.length;j++){
если (c[i]==d[j]){
совпадения++;
}
numberOfWords++;
}
}
// вот правильно ли это писать именно так ?
if (match/numberOfwords*100>0.9*100){
вернуть true;
{
возвращение ложным;
}
}
}
}
// Я пытался исправить ошибки, но это дает еще одну ошибку ..
2 найденные ошибки:
Файл: C:\Users\Acer\Desktop\check-Да.java [строка: 17]
Ошибка: синтаксическая ошибка на маркере "i", удалите этот маркер
Файл: C:\Users\Acer\Desktop\check-Да.java [строка: 20]
Ошибка: синтаксическая ошибка на токене "j", удалите этот токен
import java.util.array; public class check{ public static void main(String[] args){ String a = aaaaa aaa; String b= bbbbbbaa aa; Sysytem.out.println( compareString(a,b); } } public sttaic boolean compareString(string a, String b){ String c[]= new String [a.length]; String d[]= new String [b.length]; for ( i=0; i<=a.length;i++0){ String c[i] =a.split[" "]; } for (j=0;j<=b.length;b++){ String d [j]=b.split([" "]); } if ( Arrays.equals(c,d);{ return true; } else{ return false; }