Galera esse metodo deveria receber uma string de entrada e testar se essa string e igual a “bye”,
e enquanto fim for false o usuario deve informa uma nova string…Porem ele entra em lup infinito…
ME AJUDEM POR FAVOR…
[quote=jhon_jhon]Galera esse metodo deveria receber uma string de entrada e testar se essa string e igual a “bye”,
e enquanto fim for false o usuario deve informa uma nova string…Porem ele entra em lup infinito…
ME AJUDEM POR FAVOR…
[code]
public void start(String info)
{
boolean fim = false;
printBoasVindas();
while(!fim)
{
String entrada= leia.getEntrada(info);
o problema que esta ocorrendo é como atribuir um novo valor do tipo String à variavel “entrada” …
sem interromper a execução do metodo start();
OBS: o objetivo é que o usuario possa atribuir novos valores a variavel “entrada” e comparar se o que foi digitado é igual a “bye” tudo isso denttro do while…
NAO CONSIGO MUDAR O VALOR DA VARIAVEL “INFO”…
Primeiramente, é impossível mudar o valor da variável info. Primeiro, porque o parâmetro foi passado por valor, ou seja, você recebeu uma cópia da referência que aponta a a String info. Fazer
info = "Olá!";
Iria alterar o valor de info dentro do método, mas não fora.
Segundo, porque Strings são objetos imutáveis. Não há como alterar seu valor depois de criados.
Por último, e não menos importante, porque nesse código que você postou, você sequer tentou alterar o valor da variável info. Ou seja, mesmo que tudo o que falei acima fosse possível, o valor ainda não seria alterado por esse código.
Agora, fica muito difícil te ajudarmos a corrigir seu problema, se você não postar a classe do objeto leia, em especial, o método getEntrada. Mas chutando, eu diria que o certo seria fazer isso aqui:
info = leia.getEntrada(info);
if( info.startsWith("bye"))