Me ajude a resolver esse programa a baixo, eu gostaria de colocar para o usuario digitar a palavra para aparecer de trás para frente, e se o usuario não digitar uma palavra com 4 caracteres o programa deverá ser encerrado com a resposta: Digite apenas palavras de 4 caracteres.
eu não consegui colocar para o usuario digitar a palavra e nem para aparecer a mensagem se for digitado mais de 4 caracteres.
// put original string in an array of charsfor(inti=0;i<len;i++){tempCharArray[i]=palindrome.charAt(i);}// reverse array of charsfor(intj=0;j<len;j++){charArray[j]=tempCharArray[len-1-j];}StringreversePalindrome=newString(charArray);System.out.println(reversePalindrome);
Para fazer o que vc quer, vc só precisa substituir essa linha:
Stringpalindrome="java";
Por essas 5:
Stringpalindrome=newScanner(System.in).nextLine();if(palindrome.length()!=4){System.out.println("Digite apenas palavras de 4 caracteres");return;}
O código completo ficou assim:
importjava.util.Scanner;classAtividade{publicstaticvoidmain(String[]args){Stringpalindrome=newScanner(System.in).nextLine();if(palindrome.length()!=4){System.out.println("Digite apenas palavras de 4 caracteres");return;}intlen=palindrome.length();char[]tempCharArray=newchar[len];char[]charArray=newchar[len];for(inti=0;i<len;i++){tempCharArray[i]=palindrome.charAt(i);}for(intj=0;j<len;j++){charArray[j]=tempCharArray[len-1-j];}StringreversePalindrome=newString(charArray);System.out.println(reversePalindrome);}}
Contudo, pro código ficar mais limpo e correto, vc poderia fazer assim:
importjava.util.Scanner;classAtividade{publicstaticvoidmain(String[]args){try(Scannersc=newScanner(System.in)){char[]text=sc.nextLine().toCharArray();intlength=text.length;if(length==4){char[]reversed=newchar[length];for(inti=0,j=length-1;i<length;i++,j--){reversed[i]=text[j];}System.out.printf("Resultado: %s\n",newString(reversed));}else{System.out.println("Digite apenas palavras de 4 caracteres");}}}}
Neste código eu fiz 2 melhorias:
Coloquei o Scanner dentro do try. O Scanner é o que usamos pra pegar os dados do usuário e eu o coloquei ali porque quando vc o cria, ele pega recursos do seu computador, e quando vc não precisa mais desses recursos, vc deve devolve-los invocando o método close(). Quando vc coloca o Scanner no try, o método close() é chamado automaticamente pra vc.
Eliminei a necessidade do tempCharArray usando o método toCharArray().