Marcus_Gp 20 de out. de 2016
E qual seria a sua dúvida? Imprimir ao contrário?
Cassianofschweitzer 20 de out. de 2016
O meu resultado é só:
J
a
v
a
Precisava que fosse:
J
Ja
Jav
Java
Jav
Ja
J peczenyj 20 de out. de 2016
sugestão: usa o metodo print para imprimir uma letra
e usa o metodo println para imprimir uma linha nova.
agora vc precisa fazer um “vai e vem”. vc pode usar dois loops ( um indo e um voltando ) ou um laço for apenas e um pouco de imaginação (matematica)
Solucao aceita
Marcus_Gp 20 de out. de 2016
String palavra = "Java Platform" ;
StringBuilder impressao = new StringBuilder ();
for ( int i = 0 ; i < palavra . length (); i ++ ) {
impressao . append ( palavra . charAt ( i ));
System . out . println ( impressao . toString ());
}
for ( int i = palavra . length () - 1 ; i >= 0 ; i -- ) {
System . out . println ( palavra . substring ( 0 , i ));
}
Dê uma olhada neste código, é uma implementação bem simples e bem expressiva. Se tiver alguma dúvida pergunte aqui
Cassianofschweitzer 20 de out. de 2016
Tem como fazer a volta usando o mesmo sistema do primeiro for?
for ( int i = 0 ; i < palavra.length(); i++) {
impressao .append ( palavra .charAt ( i )) ;
System .out .println ( impressao .toString ()) ;
}
Marcus_Gp 20 de out. de 2016
Tem sim:
String palavra = "Java" ;
StringBuilder impressao = new StringBuilder ();
StringBuilder impressaoReversa = new StringBuilder ();
int comprimento = palavra . length () - 1 ;
for ( int i = 0 ; i < palavra . length (); i ++ ) {
impressao . append ( palavra . substring ( 0 , i + 1 )). append ( "\n" );
impressaoReversa . append ( palavra . substring ( 0 , comprimento - i )). append ( "\n" );
}
System . out . println ( impressao . toString ());
System . out . println ( impressaoReversa . toString ());
j-menezes 20 de out. de 2016
Tem sim:
String palavra = "Java" ;
StringBuilder impressao = new StringBuilder ();
StringBuilder impressaoReversa = new StringBuilder ();
int comprimento = palavra . length () - 1 ;
for ( int i = 0 ; i < palavra . length (); i ++ ) {
impressao . append ( palavra . substring ( 0 , i + 1 )). append ( "\n" );
impressaoReversa . append ( palavra . substring ( 0 , comprimento - i )). append ( "\n" );
}
System . out . println ( impressao . toString ());
System . out . println ( impressaoReversa . toString ());
Ele pediu pra usar o charAt().
public class ExercicioChartAt {
String word = “Java”;
public ExercicioChartAt () {
call ( 1 );
call ( 2 );
call ( 3 );
call ( 4 );
call ( 3 );
call ( 2 );
call ( 1 );
}
public static void main ( String [] args ) {
new ExercicioChartAt ();
}
public void call ( int ate ) {
for ( int x = 0 ; x < ate ; x ++ ) {
System . out . print ( word . charAt ( x ) );
}
System . out . println ( "" );
}
}
Forma Variavel
public class ExercicioCharAtVariavel {
public ExercicioCharAtVariavel () {
System . out . println ( "********************** variavel" );
call ( "JavaFX-AbraCadabra" );
}
public static void main ( String [] args ) {
new ExercicioCharAtVariavel ();
}
public void call ( String word_variavel ) {
for ( int x = 0 ; x < word_variavel . length (); x ++ ) {
for ( int z = 0 ; z < x + 1 ; z ++ ) {
System . out . print ( word_variavel . charAt ( z ) );
}
System . out . println ( "" );
}
for ( int x = word_variavel . length (); x >= 0 ; x -- ) {
for ( int z = 0 ; z < x - 1 ; z ++ ) {
System . out . print ( word_variavel . charAt ( z ) );
}
System . out . println ( "" );
}
}
}
Cassianofschweitzer 20 de out. de 2016
Meu código ficou assim:
public static void main ( String [] args ) {
String palavra = "Java" ;
StringBuilder impressao = new StringBuilder ();
for ( int y = 0 ; y < palavra . length (); y ++ ) {
impressao . append ( palavra . charAt ( y ));
System . out . println ( impressao . toString ());
}
for ( int x = impressao . length (); x >= 0 ; x -- ) {
for ( int z = 0 ; z < x - 1 ; z ++ ) {
System . out . print ( impressao . charAt ( z ));
}
System . out . println ( "" );
}
}
Obrigado a ajuda ae
peczenyj 20 de out. de 2016
se vc usar a mesma logica do for “debaixo” vc nao precisa do String builder
Cassianofschweitzer 20 de out. de 2016
Ah blz, assim também deu certo… Vlw
public static void main(String[] args) {
String palavra = "Java" ;
for ( int x = 0 ; x <= palavra.length() + 1; x++) {
for ( int z = 0 ; z < x - 1; z++) {
System .out .print ( palavra .charAt ( z )) ;
}
System .out .println ( "" ) ;
}
for ( int x = palavra .length () ; x >= 0; x--) {
for ( int z = 0 ; z < x - 1; z++) {
System .out .print ( palavra .charAt ( z )) ;
}
System .out .println ( "" ) ;
}
}
staroski 20 de out. de 2016
Há muitas formas de resolver este exercício.
Exemplo utilizando recursividade:
public class Exemplo {
public static void main ( String [] a ) {
String palavra = "Java" ;
int caracteres = 1 ;
imprime ( palavra , caracteres );
}
static boolean imprime ( String palavra , int caracteres ) {
if ( caracteres > palavra . length ()) {
return false ;
}
StringBuilder texto = new StringBuilder ();
for ( int posicao = 0 ; posicao < caracteres ; posicao ++ ) {
texto . append ( palavra . charAt ( posicao ));
}
String string = texto . toString ();
System . out . println ( string );
if ( imprime ( palavra , caracteres + 1 )) {
System . out . println ( string );
}
return true ;
}
}
Marcus_Gp 21 de out. de 2016
Desculpe, fiz na correria e acabei me desviando do assunto da postagem.