Ir para conteúdo
Fórum Script Brasil
  • 0

Problema Na Compilação Desse Codigo!


Guest --visitante --

Pergunta

Guest --visitante --

Galera estou aqui fazendo uns exercicios de java, e uma das quesões é a seguinte:

Receba 3 números como parâmetro, exiba o maior o menor e o do meio.

Ai eu criei esse codigo, por enquanto ele só mostra o maior e o menor:

public class teste2 {
        
    int num1 = 10;
    int num2 = 20;
    int num3 = 30;
   
public void main(int num1, int num2, int num3){
    
    int maior = 0;
    int menor = 0;
    
    
          
     if((num1>num2)&(num1>num3))
        maior = num1;
     else if((num2>num1)&(num2>num3))
        maior = num2;
     else if((num3>num1)&(num3>num2))
        maior = num3;
     if((num1<num2)&(num1>num3))
        menor = num1;
     else if((num2<num1)&(num2>num3))
        menor = num2;
     else if((num3<num1)&(num3>num2))
        menor = num3; 
           
        
     
      System.out.println("O maior numero é: " +maior);
      System.out.println("o menor numero é" +menor);
      
    
    }
    
public static void main(String [] args){
          
       

                       
    }    
    
}

Mais só que na hora que eu mando executar ele não mostra nada no console, e eu já to aqui grilado sem entender nada.

Estou usando a IDE NetBeans 5.0.

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

Não compila por quê?

Simples. Está tudo errado. :-)

Primeiro porque você está tentando criar um método chamado main, o que não pode.

Segundo porque você não está fazendo o método main adequadamente. É a partir dele que você vai rodar o método que recebe os parâmetros. Mas como ele é estático, você precisa instanciar tal método dentro do main. O método main é o carro-chefe de sua aplicação. Se ele estiver vazio, não vai acontecer nada. Simplesmente não vai rodar nada.

Solução:

- Mude o nome do método 'main()' para metodoTeste(), por exemplo, ao invés de main. Pois main é uma palavra reservada.

Então você vai no método main ORIGINAL, lá em baixo, e faz isso:

public static void main(String [] args){

//instanciando, ou seja, criando objeto da própria classe.
teste2 objeto = new teste2();

//abaixo você usa quaisquer valores, 10, 20 e 30 foram exemplo. O importante é você perceber que usamos a referência à própria classe criada para acessar o método.
objeto.metodoTeste(10, 20, 30);


}
Agora você se pergunta: porque instanciar a própria classe? Simples! Pois o método main é estático, e para usar métodos não-estáticos dentro dele precisa-se instanciar a própria classe para assim ter acesso. Se preferir você pode tornar o metodoTeste() estático e assim não vai precisar de instanciação. Fica assim: public static void metodoTeste(){ Nesse caso, o main fica mais simples:
public static void main(String [] args){

metodoTeste(10, 20, 30);

}

Entendeu?

Prontinho! Vai rodar.

Eu não analisei seu algoritmo de verificação de quem é maior ou menor, mas parece estar certo 'a olho nú'.

Se ele estiver correto, o programa vai funcionar.

Uma dica é ficar de olho no erro que dá e seguir a linha que ele mostra.

Abraço.

Editado por Giancarlo Braga
Link para o comentário
Compartilhar em outros sites

  • 0
Guest Visitante

Aproveitando aqui o momento novamente, estou com problema na passagem de um vetor indeterminado de numeros por parâmetros, meu codigo é esse aqui:

import java.util.ArrayList;

import javax.swing.JOptionPane;

public class teste5 {

public void metodoTeste(){

}

public static void mains(String [] args) {

int numero;

String tipo;

ArrayList numeros = new ArrayList();

do{

String n = JOptionPane.showInputDialog("numero");

numero = Integer.parseInt(n);

numeros.add(numero);

}while(tipo.equalsIgnoreCase("fim"));

teste2 objeto = new teste2();

objeto.metodoTeste(numeros);

}

}

O que estaria errado nessa passagem do vetor?

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Visitante

Aproveitando aqui o momento novamente, estou com problema na passagem de um vetor indeterminado de numeros por parâmetros, meu codigo é esse aqui:

import java.util.ArrayList;

import javax.swing.JOptionPane;

public class teste5 {

public void metodoTeste(){

}

public static void main(String [] args) {

int numero;

String tipo;

ArrayList numeros = new ArrayList();

do{

String n = JOptionPane.showInputDialog("numero");

numero = Integer.parseInt(n);

numeros.add(numero);

}while(tipo.equalsIgnoreCase("fim"));

teste5 objeto = new teste5();

objeto.metodoTeste(numeros);

}

}

O que estaria errado nessa passagem do vetor?

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --visitante --

É isso velho, foi um erro meu ter postado sem, mais tipo, eu estava usando todo o codigo no metodoteste porem estava dando erro lá no main quando estava passando o ArrayList como parâmetro, o codigo estava assim:

import java.util.ArrayList;

import javax.swing.JOptionPane;

public class teste5 {

public void metodoTeste(int numeros){

String tipo;

int numero;

do{

String n = JOptionPane.showInputDialog("numero");

numero = Integer.parseInt(n);

numeros.add(numero);

}while(tipo.equalsIgnoreCase("fim"));

}

public static void main(String [] args) {

ArrayList numeros = new ArrayList();

teste5 objeto = new teste5();

objeto.metodoTeste(numeros);

}

}

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...