Comentando em Javadoc

13 respostas
wesleysilva

Ola galera estou precisando de ajuda, tenho que comentar meu programa de acordo com o javadoc.
alguem pode me ajudar.

import java.io.*;
import java.lang.*;
import java.util.Scanner;

public class Conversor 
{

	//metodo principal da aplicacao responsavel por executar a mesma
	public static void main(String[] args) throws IOException 
	//! Construtor.
	/*! metodo principal da aplicacao responsavel por executar a mesma
	 */
	{

		// variavel menu
		int menu = 0;

		//metodo de entrada de dados
		Scanner leitor = new Scanner(System.in);

		// mensagem de boas vindas da aplicação
		System.out.println("Bem Vindos ao Programa de Conversão Entre Bases\n");

		// laço de repetição
		while (true) 
		{
			// mensagem que pede ao usuario que escolha uma opcao no menu do sistema.
			System.out.println("Digite 1 para Converter entre Bases\nDigite 2 para Créditos\nDigite 3 para Sair");
			// recebe a entrada de dados do usuario.
			menu = leitor.nextInt();
			// se a condição for igual a 1 e executada a conversao de valores entre bases
			if (menu == 1) 
			{
				// pede ao usuario que entre com uma base desejada para conversao dos valores.
				System.out.println("Digite a Base de Entrada\n 1 para Decimal\n 2 para Binario\n 3 para Octal\n 4 para Hexadecimal");
				// recebe a entrada de dados do usuario.
				menu = leitor.nextInt();
				{
					// se a condição for igual a 1 entrar com um valor decimal.
					if (menu == 1) 
					{
						
						// pede para o usuario entra com um valor decimal.
						System.out.println("Entre com o valor em Decimal inteiro");
						// variavel que recebera o valor em decimal.
						int idec = leitor.nextInt();
						// converte o valor decimal para binario.
						String bin = Integer.toBinaryString(idec);
						// exibe o valor em binario.
						System.out.println("Binario: " + bin);
						// converte o valor decimal para hexadecimal.
						String hex = Integer.toHexString(idec).toUpperCase();
						// exibe o valor em hexadecimal.
						System.out.println("Hexadecimal: " + hex);
						// converte o valor decimal para octal.
						String oct = Integer.toOctalString(idec);
						// exibe o valor em octal.
						System.out.println("Octal: " + oct + "\n");						
					} 
					// se a condição for igual a 2 entrar com um valor binario.
					else if (menu == 2) 
					{
						// pede para o usuario entra com um valor binario.
						System.out.println("Entre com o valor em Binario");
						// recebe o valor em binario.
						String sbin = leitor.next();
						// converte o valor binario para decimal.
						int ibin = Integer.parseInt(sbin, 2);
						// exibe o valor em decimal.
						System.out.println("Decimal: " + ibin);
						// converte o valor binario para hexadecimal.
						String hex = Integer.toHexString(ibin).toUpperCase();
						// exibe o valor em hexadecimal.
						System.out.println("Hexadecimal: " + hex);
						// converte o valor binario para octal.
						String oct = Integer.toOctalString(ibin);
						// exibe o valor em octal.
						System.out.println("Octal: " + oct + "\n");

						// se a condição for igual a 3 entrar com um valor octal.
					} 
					else if (menu == 3) 
					{
						// pede para o usuario entra com um valor octal.
						System.out.println("Entre com o valor em octal inteiro");
						// recebe o valor em octal.
						String soct = leitor.next();
						// converte o valor de octal para decimal.
						int ioct = Integer.parseInt(soct, 8);
						// exibe o valor em decimal.
						System.out.println("Decimal: " + ioct);
						// converte o valor de octal para hexadecimal.
						String hex = Integer.toHexString(ioct).toUpperCase();
						// exibe o valor em hexadecimal.
						System.out.println("Hexadecimal: " + hex);
						// converte o valor de octal para binario.
						String bin = Integer.toBinaryString(ioct);
						// exibe o valor em binario.
						System.out.println("Binario: " + bin + "\n");						
					} 
					// se a condição for igual a 4 entrar com um valor hexadecimal.
					else if (menu == 4) 
					{
						// pede para o usuario entra com um valor hexadecimal.
						System.out.println("Entre com o valor em HexaDecimal inteiro1");
						// recebe o valor em hexadecimal.
						String shex = leitor.next();
						// converte o valor de hexadecimal para decimal.
						int ihex = Integer.parseInt(shex, 16);
						// exibe o valor em decimal.
						System.out.println("Decimal: " + ihex);
						// converte o valor de hexadecimal para binario.
						String hex = Integer.toBinaryString(ihex);
						// exibe o valor em binario.
						System.out.println("Binario: " + hex);
						// converte o valor de hexadecimal para octal.
						String oct = Integer.toOctalString(ihex);
						// exibe o valor em octal.
						System.out.println("Octal: " + oct + "\n");
					}
				}				
			} 
			// se a condição for igual a 2 e exibido os creditos da aplicação.
			else if (menu == 2) 
			{
				// exibe os creditos dos desenvolvedores da aplicação.
				System.out.println("Programa Desenvolvido pelos Acadêmicos Wesley Gomes da Silva e Ernesto Miguel da Costa Neto");
				System.out.println("do 1º Período do Curso de Sistemas da Informação.\n");

								
			}
			//se a condição for igual a 3 e encerrada aplicação.
			else if (menu == 3)
			{
				System.clearProperty("cls");
				// sai da aplicação.
				System.exit(0);
			
			}
		}
	}
}

13 Respostas

Rodrigo_Sasaki

claro que podemos ajudar, mas qual sua dúvida, amigo?

wesleysilva

minha duvida e como comentar de acordo com o javadoc, pra qndo eu abrir o arquivo em html aparecer todos os comentarios,
do programa, como metodos, classes, autor, versao, essas coisas, intendeu?

diego.sas

Bom dia.
Segue exemplo de como ficaria o comentario do método main.

/**
 * metodo principal da aplicacao responsavel por executar a mesma
 * 
 * @param args
 * 
 * @throws Exception lancada
 */
 public static void main(String[] args) throws Exception { }
Rodrigo_Sasaki

você usa alguma IDE? provavelmente ela tem uma opção de exportar desse jeito que você precisa… como no eclipse

File > Export > Javadoc

Priuli

Comentário no código não é muito legal! seu código deve ficar tão simples que dispensa comentário no código. Eu costumo apenas a usar o javadoc e sem comentários no código.

Exemplo JavaDoc:

/**
DESCRICAO DO SEU MÉTODO/CLASSE/CONSTRUTOR/ATRIBUTO
@param args - descrição do parâmetro de entrada deste método, 1 para cada parametro
@see OutraClasse.java - se precisar referenciar com outra classe
@return descrição do que o método retorna
@autor nome de quem fez 
@throw Exceções que o método lança
*/

Se seu método estiver fazendo muita coisa e comentário do javadoc tiver grande vc deve revisar seu código pois o mesmo esta fazendo muita coisa em um método só.

wesleysilva

ai no meu trabalho tem q ter o autor a versao essas coisas tudo no javadoc, alguem tem um link ai ensinando comentar no javadoc?

nel

Oi!

Este link de Javadoc lhe será bem útil.
Abraços.

wesleysilva

Amigos me ajudem me de um exemplo de um programa comentado em javadoc ai pra mim ver.

Rodrigo_Sasaki
/**
 * @author digaoneves
 */
public class Test {

	/**
	 * Executa o método main
	 * @param args
	 */
	public static void main(String[] args){
		//codigo		
	}
	
	/**
	 * método usado para criar um arquivo no diretório especificado 
	 * @param String de caminho do arquivo
	 * @return objeto File
	 * @throws IOException
	 */
	public File buildFile(String path) throws IOException{
		// codigo do metodo
	}
}

é mais ou menos isso…

wesleysilva
import java.io.*;
import java.lang.*;
import java.util.Scanner;
/**
 *  @author Wesley Gomes e Ernesto Miguel
 *  @since 31/05/2011
 *  @version 1.0
 */

public class Conversor {
	
	/**
	 * metodo principal da aplicacao responsavel por executar a mesma.
	 * Executa o método main
	 * @param args 
	 * @throws Exception
	 */
	public static void main(String[] args) throws IOException {

		/**
		 * variavel inteira menu
		 */
		int menu = 0;

		/**
		 * metodo de entrada de dados
		 */
		Scanner leitor = new Scanner(System.in);

		/**
		 * mensagem de boas vindas da aplicação
		 */
		System.out.println("Bem Vindos ao Programa de Conversão Entre Bases\n");

		/**
		 * laço de repetição
		 */
		while (true) {
			/**
			 * mensagem que pede ao usuario que escolha uma opcao no menu do
			 * sistema.
			 */
			System.out.println("Digite 1 para Converter entre Bases\nDigite 2 para Créditos\nDigite 3 para Sair");
			/**
			 * recebe a entrada de dados do usuario.
			 */
			menu = leitor.nextInt();
			/**
			 * se a condição for igual a 1 e executada a conversao de valores
			 * entre bases
			 */
			if (menu == 1) {
				/**
				 * pede ao usuario que entre com uma base desejada para
				 * conversao dos valores.
				 */
				System.out.println("Digite a Base de Entrada\n 1 para Decimal\n 2 para Binario\n 3 para Octal\n 4 para Hexadecimal");
				// recebe a entrada de dados do usuario.
				menu = leitor.nextInt();
				{
					// se a condição for igual a 1 entrar com um valor decimal.
					if (menu == 1) {

						// pede para o usuario entra com um valor decimal.
						System.out.println("Entre com o valor em Decimal inteiro");
						// variavel que recebera o valor em decimal.
						int idec = leitor.nextInt();
						// converte o valor decimal para binario.
						String bin = Integer.toBinaryString(idec);
						// exibe o valor em binario.
						System.out.println("Binario: " + bin);
						// converte o valor decimal para hexadecimal.
						String hex = Integer.toHexString(idec).toUpperCase();
						// exibe o valor em hexadecimal.
						System.out.println("Hexadecimal: " + hex);
						// converte o valor decimal para octal.
						String oct = Integer.toOctalString(idec);
						// exibe o valor em octal.
						System.out.println("Octal: " + oct + "\n");
					}
					// se a condição for igual a 2 entrar com um valor binario.
					else if (menu == 2) {
						// pede para o usuario entra com um valor binario.
						System.out.println("Entre com o valor em Binario");
						// recebe o valor em binario.
						String sbin = leitor.next();
						// converte o valor binario para decimal.
						int ibin = Integer.parseInt(sbin, 2);
						// exibe o valor em decimal.
						System.out.println("Decimal: " + ibin);
						// converte o valor binario para hexadecimal.
						String hex = Integer.toHexString(ibin).toUpperCase();
						// exibe o valor em hexadecimal.
						System.out.println("Hexadecimal: " + hex);
						// converte o valor binario para octal.
						String oct = Integer.toOctalString(ibin);
						// exibe o valor em octal.
						System.out.println("Octal: " + oct + "\n");

						// se a condição for igual a 3 entrar com um valor
						// octal.
					} else if (menu == 3) {
						// pede para o usuario entra com um valor octal.
						System.out.println("Entre com o valor em octal inteiro");
						// recebe o valor em octal.
						String soct = leitor.next();
						// converte o valor de octal para decimal.
						int ioct = Integer.parseInt(soct, 8);
						// exibe o valor em decimal.
						System.out.println("Decimal: " + ioct);
						// converte o valor de octal para hexadecimal.
						String hex = Integer.toHexString(ioct).toUpperCase();
						// exibe o valor em hexadecimal.
						System.out.println("Hexadecimal: " + hex);
						// converte o valor de octal para binario.
						String bin = Integer.toBinaryString(ioct);
						// exibe o valor em binario.
						System.out.println("Binario: " + bin + "\n");
					}
					// se a condição for igual a 4 entrar com um valor
					// hexadecimal.
					else if (menu == 4) {
						// pede para o usuario entra com um valor hexadecimal.
						System.out.println("Entre com o valor em HexaDecimal inteiro1");
						// recebe o valor em hexadecimal.
						String shex = leitor.next();
						// converte o valor de hexadecimal para decimal.
						int ihex = Integer.parseInt(shex, 16);
						// exibe o valor em decimal.
						System.out.println("Decimal: " + ihex);
						// converte o valor de hexadecimal para binario.
						String hex = Integer.toBinaryString(ihex);
						// exibe o valor em binario.
						System.out.println("Binario: " + hex);
						// converte o valor de hexadecimal para octal.
						String oct = Integer.toOctalString(ihex);
						// exibe o valor em octal.
						System.out.println("Octal: " + oct + "\n");
					}
				}
			}
			// se a condição for igual a 2 e exibido os creditos da aplicação.
			else if (menu == 2) {
				// exibe os creditos dos desenvolvedores da aplicação.
				System.out.println("Programa Desenvolvido pelos Acadêmicos Wesley Gomes da Silva e Ernesto Miguel da Costa Neto");
				System.out.println("do 1º Período do Curso de Sistemas da Informação.\n");
			}
			// se a condição for igual a 3 e encerrada aplicação.
			else if (menu == 3) {
				// sai da aplicação.
				System.exit(0);

			}
		}
	}
}

ola galera olhem so que eu conseguir, o q vc acham esta no rumo, de alguma dica ai a mais.

anderson.brasil

Acredito que não há necessidade de comentar cada linha, principalmente com coisas muito simples, como por exemplo while:

#          /** 
#          * laço de repetição 
#          */  
#         while (true) {

Acredito que seria melhor você informar o que exatamente o while faz.
Enquanto o usuário não digitar 3, a aplicação faz…

Exemplo:

/**
     * Converte um byte[] em String
     * @param bytes a serem convertidos
     * @return uma String dos bytes convertidos
     */
    public static String bytesToString(byte[] bytes) {
    }

Agora veja o javadoc gerado:
http://imageshack.us/photo/my-images/263/javadocguj.jpg/
É com isto principalmente que você terá de se preocupar inicalmente.

Este link contém várias tags que poderão te auxiliar a criar um javadoc.

http://www.oracle.com/technetwork/java/javase/documentation/index-137868.html#principles

Sempre coloque as tags dos métodos e classes. É através deles que é criado o javadoc. E é através do javadoc gerado que outros programadores verão o que seu código faz e não através do seu código fonte. Sem falar que muitos comentários podem aumentar o tamanho dos seus arquivos.
Quando uso o netBeans para gerar javaDoc ele nunca exporta os comentários com // dentro do métodos, apenas os “comentários” dos método e da classe.

anderson.brasil
Ante que eu esqueça:

Repare na imagem o nome do pacote: no lado esquerdo em formato de link;

logo abaixo as classe dento do pacote selecionado;
Do lado direito em negrito dados do método;

assinatura : public static String bytesToString(byte[] bytes)

descrição  : Converte uma byte[] em String

parametros (@param): bytes a serem convertidos

retorno (@return)      :  uma String dos bytes convertidos

Por isso é inmportante usar as tags contidas em http://www.oracle.com/technetwork/java/javase/documentation/index-137868.html#examples, e não apenas dizer o que cada linha faz. Não será sempre que outro programador terá acesso ao seu código.
Voce não precisa tem acesso ao código da classe String para usá-la, por exemplo.

M

Quero saber como faço para resolver este problema. java.lang.NullPointerException

Criado 30 de maio de 2011
Ultima resposta 5 de fev. de 2013
Respostas 13
Participantes 7