Boas estou com uma dúvida neste exercício eu quero que isto fique igual ao da figura mas sempre que mexo meto length()-1 ou +1 ele não bate certo já tentei de várias formas eu queria que ficasse sem espaços igual ao da figura.
o código é este: deixo o meu output e o da figura como devia ficar.
public static void arrayPalavras(){
String text[]={"O","teste","de","programação","é","muito","facil!"};
System.out.print("*");
for (int i = 0; i < text.length; i++) {
for (int k = 0; k < text[i].length(); k++) {
System.out.print("-");
}
System.out.print("-");
}
System.out.print("*");
System.out.println("");
for (int i = 0; i < text.length; i++) {
System.out.print("|"+text[i]);
if(i==text[i].length())
System.out.print("");
}
System.out.println("|");
System.out.print("*");
for (int i = 0; i < text.length; i++) {
for (int j = 0; j < text[i].length(); j++) {
System.out.print("-");
}
System.out.print("-");
}
System.out.print("*");
}
public static void main(String[] args) {
arrayPalavras();
}
}
Anexos:
Respostas
respondido por:
1
o problema é a linha que começa com * e termina com *
Observe que a linha com asterisco é da seguinte forma
um asterisco *
tracinhos para cada letra da palavra + um tracinho desde que não seja a última palavra
um asterisco
Então você tem que testar se a palavra impressa é a última. Se for, você não imprime tracinho e sim deixa que o * será impresso depois
Eis o programa correto
https://repl.it/@bokomoko/httpsbrainlycombrtarefa13276213
Observe que a linha com asterisco é da seguinte forma
um asterisco *
tracinhos para cada letra da palavra + um tracinho desde que não seja a última palavra
um asterisco
Então você tem que testar se a palavra impressa é a última. Se for, você não imprime tracinho e sim deixa que o * será impresso depois
Eis o programa correto
https://repl.it/@bokomoko/httpsbrainlycombrtarefa13276213
respondido por:
1
for (int i = 1; i < text.length; i++) {
for (int k = 0; k < text[i].length(); k++) {
System.out.print("-");
}
System.out.print("-");
}
System.out.print("-");
System.out.print("*");
...
Se fizer dessa forma, o programa imprime um "-" a menos. Daí é só colocar um depois do laço.
https://repl.it/@BrenoSilva2/R1
for (int k = 0; k < text[i].length(); k++) {
System.out.print("-");
}
System.out.print("-");
}
System.out.print("-");
System.out.print("*");
...
Se fizer dessa forma, o programa imprime um "-" a menos. Daí é só colocar um depois do laço.
https://repl.it/@BrenoSilva2/R1
100breno100p2q949:
for (int i = 1; i < text.length; i++) { for (int k = 0; k < text[i].length(); k++) { System.out.print("-"); } System.out.print("-"); } System.out.print("-"); System.out.print("*");
Perguntas similares
6 anos atrás
6 anos atrás
8 anos atrás
8 anos atrás
8 anos atrás
9 anos atrás