2011-10-05 3 views
1

для струнных ..Android Java Strings

Как я могу обнаружить, если «имя» строка содержит текст «Hello» тост придумает говоря, да, но если это не тост придумает говорить нет ? мой код:

 String ft; 
    if(ft.contains("Hello")){ 

     Toast.makeText(main.this ,"Yes", Toast.LENGTH_SHORT).show(); 
     } 
     else{ 
     Toast.makeText(main.this ,"No", Toast.LENGTH_SHORT).show(); 
     } 

Я получаю ошибку при футовом если (ft.contains ("Hello")) {

"Локальная переменная фт не может быть инициализированы"

+0

Вы должны инициализировать 'String' пустой попробовать' Струнный фт = "";. ' –

+0

Спасибо Кар tik, это сработало, вопрос будет сохранен, когда пользователь закроет приложение, и когда они снова откроются, он будет изменен на все, что я положил? –

+0

Вы можете принять ответ, если это вам помогло. –

ответ

1

Вы объявили String, но вы не инициализировать. Инициализации он устанавливает их равным значению:.

String ft;  // This is a declaration 

String ft=""; // This is an initialization 

Возможно String ft = ""; является «декларация и инициализация

Вы получаете сообщение об ошибке, потому что вы не инициализированы переменными, но использовать их (например, футы ., если условие

So .compare()) попробуйте заменить String ft;String ft=""; с

2
String text; 
if(name.equals("Hello")){ 
    text = "Yes"; 
} else { 
    text = "No"; 
} 

Toast toast = Toast.makeText(context, text, duration); 
toast.show(); 

Вы можете также использовать сокращенное выражение вместо if:

String text = name.equals("Hello") ? "Yes" : "No"; 
+1

Почему бы не все в одной строке? Toast.makeText (контекст, (name.equals («Hello»)? «Да»: «Нет»), продолжительность) .show(); – shanet

+0

String ft; if (ft.equals ("Hello")) { ft = "Да"; } else { ft = "Нет"; } я получаю ошибку под футов в ft.equals «Локальная переменная фт не может быть инициализирован» –

+0

@Hailei: должен быть 'name.equals («Hello»)' 'не ft' –

0
if(name.equals("Hello")){ 
    Toast.makeText(this, "Yes", Toast.LENGTH_LONG).show(); 
}else{ 
    Toast.makeText(this, "no", Toast.LENGTH_LONG).show(); 
} 
1
if(name.contains("Hello")){ 

Toast.makeText(activity.this ,"Yes", Toast.LENGTH_SHORT).show(); 
} 
else{ 
Toast.makeText(activity.this ,"No", Toast.LENGTH_SHORT).show(); 
} 

Обновлено:

String ft = ""; 

    String ft= name.equals("Hello") ? "Yes" : "No"; 
    Toast.makeText(activity.this ,ft, Toast.LENGTH_SHORT).show(); 
+0

Локальная переменная ft может не быть инициализирована под if (ft.contains –

+0

@HaileiEdwards: изменить 'String ft;' на 'String ft =" ";' или 'String ft = null;' любые наилучшие в вашем классе случай. –

+0

@Hailei Edwards .. Попробуйте мои правки .. – ngesh