métodos

8 respostas
Rooney

Tô com um problema nesse código, tipo criei um método e quero só q ele mostre os asteriscos, e ta dizendo q tem q ter um return.

import java.util.*;

public class Asteriscos{

	public static void main (String args[]){

		Scanner t = new Scanner(System.in);
		QuadradoAsteriscos q = new QuadradoAsteriscos();		

		int l;

		System.out.print("Qual a dimensao do quadrado de Asteriscos? ");
		l = t.nextInt();
		
		System.out.println("O seu quadrado eh esse: "+ q.quadradoDeAsteriscos(l));
		
		
		}
	
	}
public class QuadradoAsteriscos{

	

	public int quadradoDeAsteriscos(int lado){
		

		for (int i = 1; i <= lado; i++){
			for (int j = 1; j <= lado; j++){
				System.out.print("*");
			}//fim do for
		}//fim do for
	}//fim do metodo
}//fim da classe

8 Respostas

dudu_sps

é porque está public int

intão voce ta dizendo que tem que ter um retorno

se voce quer apenas executar
coloque public void

Rooney

mas tipo se eu colocar void como que ele vai execultar e imprimir os asteriscos? preciso mudar algo na classe main?

dudu_sps

Esquece o que eu faleii

do jeito que voce ta chamando o metodo... voce vai precisar ter um retornooo

mas voce colocou pra retornar int...

faz assim oh

public class QuadradoAsteriscos{



    public String quadradoDeAsteriscos(int lado){

        String ast = "";
        for (int i = 1; i <= lado; i++){
            for (int j = 1; j <= lado; j++){
                ast += "*";
            }//fim do for
        }//fim do for
        return ast;
    }//fim do metodo
}//fim da classe

ali criou uma string, adicionou o tanto de asteriscos necessarios e retornou a String

Rooney

aew mano deu certo, mas e se for para aparecer qualquer caractere lido do teclado no lugar de só aparecer os “*”?

dudu_sps

num intendi o que voce quis dizer

explica melhor o que voce quer

Rooney

tipo naquele código ele cria uma matriz quadrada com asteriscos,
agora quero saber como faço pra criar uma matriz quadrada, só q agora com qualquer caractere lido do teclado.

dudu_sps

se eu intendi voce quer isso

import java.util.*;

public class Asteriscos{

    public static void main (String args[]){

        Scanner t = new Scanner(System.in);
        QuadradoAsteriscos q = new QuadradoAsteriscos();

        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: "+ q.quadradoDeAsteriscos(l, caracte));
        }
    }
public class QuadradoAsteriscos{



    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
}//fim da classe
renamed

Ai complica ne...

Sua classe se chama QuadradoAsterisco ... o nome não e muito bom porque se vc criar outro método quadradoDeContraBarra não fica legal... tente colocar outro nome como CadeiaDeCaracteres...

Ai crie um método que também receba o que você quer escrever na tela... veja:

public class CadeiaDeCaracteres{



    public String quadradoDeAsteriscos(int lado, String caractere){

        String ast = "";
        for (int i = 1; i <= lado; i++){
            for (int j = 1; j <= lado; j++){
                ast += caractere;
            }//fim do for
        }//fim do for
        return ast;
    }//fim do metodo
}//fim da classe

ok?

Criado 19 de dezembro de 2009
Ultima resposta 19 de dez. de 2009
Respostas 8
Participantes 3