Olá pessoal meu problema é o seguinte, meu programa só lê o caractere a, e imprime na tela, como faço pra mudar esse código pra q ele possa ler qualquer caractere e imprimir?
aki ta meu código:
[code]import java.util.*;
public class Caractere{
public static void main (String args[]){
Scanner t = new Scanner(System.in);
TestaCaractere c = new TestaCaractere();
int l;
String caracte = "a";
System.out.print("Qual a dimensao do quadrado de Asteriscos? ");
l = t.nextInt();
System.out.print("Qual o Caractere que é para aparecer? ");
caracte = t.next(caracte);
System.out.println("O seu quadrado eh esse: \n"+ c.quadradoDeAsteriscos(l, caracte));
}
}[/code][code]public class TestaCaractere{
public String quadradoDeAsteriscos(int lado, String s){
String ast = "";
for (int i = 1; i <= lado; i++){
for (int j = 1; j <= lado; j++){
ast += s;
}//fim do for
}//fim do for
return ast;
}//fim do metodo
public String quadradoDeAsteriscos(int lado, String s){
StringBuilder ast = new StringBuilder(); //mude essa linha
for (int i = 1; i <= lado; i++){
for (int j = 1; j <= lado; j++){
ast.append(s); //mude essa linha
}//fim do for
ast.append("\n"); //acrescente essa linha
}//fim do for
return ast.toString(); //mude essa linha
}//fim do metodo
}//fim da classe[/code]
e
[code]public class Caractere {
public static void main(String args[]) {
Scanner t = new Scanner(System.in);
TestaCaractere c = new TestaCaractere();
int l;
// String caracte = "a"; //Remova essa linha
System.out.print("Qual a dimensao do quadrado de Asteriscos? ");
l = Integer.parseInt(t.nextLine()); // mude essa linha
System.out.print("Qual o Caractere que é para aparecer? ");
String caracte = t.nextLine(); // mude essa linha
System.out.println("O seu quadrado eh esse: \n" + c.quadradoDeAsteriscos(l, caracte));
}
E se quiser melhorar um pouquinho mais a performance, crie um StringBuilder do tamanho máximo de caracteres. Isso evitará perda de tempo realocando mais espaço para ele.
StringBuilder ast = new StringBuilder(lado * s.lenght() + lado);