помогите по Jave
Дана символьная строка и слово, составляющее из 4 символов. Определить, есть ли в данной строке все буквы данного слова.
Код:
private String str = "Very very long string";
private String symbols = "abcd";
private boolean isContain = true;
for(int i = 0; i < symbols.length; i++){
if(isContain)
isContain = str.contains(symbols.charAt(i));
}
if(isContain){
System.out.println("String contains all symbols!");
}else{
System.out.println("String contains not all symbols!");
}
private String symbols = "abcd";
private boolean isContain = true;
for(int i = 0; i < symbols.length; i++){
if(isContain)
isContain = str.contains(symbols.charAt(i));
}
if(isContain){
System.out.println("String contains all symbols!");
}else{
System.out.println("String contains not all symbols!");
}
Код:
private String str = "Very very long string";
private char[] symbols = {'a', 'b', 'c', 'd'};
private boolean isContain = true;
for(int i = 0; i < symbols.length; i++){
if(isContain)
isContain = str.contains(symbols[i]);
}
if(isContain){
System.out.println("String contains all symbols!");
}else{
System.out.println("String contains not all symbols!");
}
private char[] symbols = {'a', 'b', 'c', 'd'};
private boolean isContain = true;
for(int i = 0; i < symbols.length; i++){
if(isContain)
isContain = str.contains(symbols[i]);
}
if(isContain){
System.out.println("String contains all symbols!");
}else{
System.out.println("String contains not all symbols!");
}
Зачем проверять все буквы второго слова, если какая-то буква в слове уже не найдена?
Например в приведенном Вами примере:
Код:
private String str = "Very very long string";
private String symbols = "abcd";
private String symbols = "abcd";
Хотя конкретно для данной задачи "выпендриваться" бессмысленно. Но если бы строка str была бы несколько десятков МБ, а слово состояло бы не из 4-х символов?
public static void main(String args[]){
String g1 = "кита";
char t1 = g1.charAt(0);
char t2 = g1.charAt(1);
char t3 = g1.charAt(2);
char t4 = g1.charAt(3);
boolean[] i;
i = new boolean[4];
char p = 0;
String g = "атки";
for (int x = 0; x < g.length(); x++) {
p = g.charAt(x);
if (p == t1) {
i[0] =true;
}
if (p == t2) {
i[1] =true;
}
if (p == t3) {
i[2] =true;
}
if (p == t4) {
i[3] =true;
}
}
System.out.println(i[0]+" "+i[1]+" "+i[2]+" "+i[3]);
if(i[0] == true&&i[1] == true&&i[2] == true&&i[3] == true){
System.out.println("Вы выйграли");
}
}
}
Код:
string Line = "Helly mans!";
string symbols = "eoan";
int counts = 0;
for(int idx=0; idx < Line.Length; idx++)
{
for(int jdx=0; jdx < symbols.Length; jdx++)
{
if(Line[idx] == symbols[jdx])
{
counts++;
break;
}
}
}
if (counts == 4) Console.WriteLine("Yes");
else Console.WriteLine("No");
Console.ReadLine();
string symbols = "eoan";
int counts = 0;
for(int idx=0; idx < Line.Length; idx++)
{
for(int jdx=0; jdx < symbols.Length; jdx++)
{
if(Line[idx] == symbols[jdx])
{
counts++;
break;
}
}
}
if (counts == 4) Console.WriteLine("Yes");
else Console.WriteLine("No");
Console.ReadLine();
кончено, компьютор взял так поглядел глазками, действительно нет, не буду проверять :=)
Но если бы строка str была бы несколько десятков МБ, а слово состояло бы не из 4-х символов?
А бы да кабы в бане бы пиво наливали бесплатно, есть НУ, какие там мегабайты?)
ЗЫ: повторения букв не обрабатывал, думаю кому надо тот додумает ;)