Como percorrer uma string que está dentro de um array?
7 respostas
logicajava-sejavaprogramação
A
anderson.machado
Gostaria de saber como percorrer uma string que está dentro de um Array (saber a posição dos sub-indices)
String[]estrofes={"As armas e os Barões assinalados \n Que da Ocidental praia Lusitana\n","Por mares nunca de antes navegados\n Passaram ainda além da Taprobana,\n Em perigos e guerras esforçados\nMaisdoqueprometiaaforçahumana,\nEentregenteremotaedificaramNovoReino,\nquetantosublimaram;\n", "E também as memórias gloriosas\nDaqueles Reis que foram dilatando\nA Fé, o Império, e as terras viciosas\nDe África e de Ásia andaram devastando,\nE aqueles que por obras valorosos\nSe vão da lei da Morte libertando,\nCantando espalharei por toda parte,\nSe a tanto me ajudar o engenho e arte\n"}
Está retornando o registro inteiro e os listando, eu gostaria analisar o elemento que está dentro do array, já tentei o método split, porém ele não está ocasionando a quebra nem me permitindo acessar esse array for do laço.
Dragoon
Então relate melhor sua dúvida, exemplifique seria ideal
A
anderson.machado
Quero obter o resultado de ter arrays, 1 só com as informações das estrofes, enquanto outro n arrays em relação ao número de registros, com esses arrays subdividindo as informações do registro do 1° array, algo que o segundo array teria o seguinte design
versos[1]="As armas e os Barões assinalados"versos[2]="Que da Ocidental praia Lusitana"versos[3]="Por mares nunca de antes navegados"versos[4]="Passaram ainda além da Taprobana"versos[5]="Em perigos e guerras esforçados"versos[6]="Mais do que prometia a força humana"versos[7]="E entre gente remota edificaram Novo Reino"versos[8]="que tanto sublimaram;"
darlan_machado
Notei que o array original está dividido em estrofes.
Cada estrofe está “dividida” com uma quebra de linha (\n)
Portanto, mantenha a minha sugestão e, depois, use o split para quebrar a estrofe em versos.
for(Stringestrofe:estrofes){String[]versos=estrofe.split("\\r?\\n");//Precisa do \\r? para permitir a quebra na quebra de linhafor(Stringverso:versos){System.out.println(verso);}}
A
anderson.machado
@darlan_machado ele está quebrando, mas gostaria de acessar esses vetores ou ter o retorno de ambos, de forma mimificada está assim.
ArrayList<String>estrofes=newArrayList<String>();estrofes.add("As armas e os Barões assinalados \n Que da Ocidental praia Lusitana\n "+"Por mares nunca de antes navegados\n Passaram ainda além da Taprobana "+"Em perigos e guerras esforçados\n Mais do que prometia a força humana"+"E entre gente remota edificaram Novo Reino,\n que tanto sublimaram;\n"+"E também as memórias gloriosas\nDaqueles Reis que foram dilatando\nA Fé, o Império, e as terras viciosas\nDe África e de Ásia andaram devastando\n "+"E aqueles que por obras valorosos\nSe vão da lei da Morte libertando,"+"\nCantando espalharei por toda parte,\nSe a tanto me ajudar o engenho e arte\n");ArrayList<String>versos=newArrayList<String>();for(intx=0;x<estrofes.size();x++){String[]aa=estrofes.split("\\r?\\n");for(Stringverso:aa){versos.add(verso);}}// System.out.println(estrofe[1]);// System.out.print(verso[1]);}
darlan_machado
Já te dei o caminho, agora você pode utilizar o mesmo para alcançar o objetivo que tem.