Meu Programa está certo?

7 respostas
GALACTUS

Eu estou começando a programar em Java e queria saber se este programa que eu fiz está certo e se dá pra deixa-lo menor:

// Programa que lê cinco números inteiros e apresenta o maior e o menor valor

package maioremenor;

import javax.swing.JOptionPane;

public class MaiorEmenor

{

public static void main(String[] args)

{

String v1=JOptionPane.showInputDialog(Digite um número);

String v2=JOptionPane.showInputDialog(Digite mais um número);

String v3=JOptionPane.showInputDialog(Digite mais um número);

String v4=JOptionPane.showInputDialog(Digite mais um número);

String v5=JOptionPane.showInputDialog(Digite mais um número);

String v6="";
int n1=Integer.parseInt(v1);

int n2=Integer.parseInt(v2);

int n3=Integer.parseInt(v3);

int n4=Integer.parseInt(v4);

int n5=Integer.parseInt(v5);
if(n1==n2 && n1==n3 && n1==n4 && n1==n5)

{

JOptionPane.showMessageDialog(null,Todos os valores são iguais,

RESULTADO,JOptionPane.PLAIN_MESSAGE);

System.exit(0);

}

if(n1<n2 && n1<n3 && n1<n4 && n1<n5)

v6=v6+n1+"\n";

if(n2<n1 && n2<n3 && n2<n4 && n2<n5)

v6=v6+n2+"\n";

if(n3<n1 && n3<n2 && n3<n4 && n3<n5)

v6=v6+n3+"\n";

if(n4<n1 && n4<n2 && n4<n3 && n4<n5)

v6=v6+n4+"\n";

if(n5<n1 && n5<n2 && n5<n3 && n5<n4)

v6=v6+n5+"\n";
if(n1>n2 && n1>n3 && n1>n4 && n1>n5)

v6=v6+n1;

if(n2>n1 && n2>n3 && n2>n4 && n2>n5)

v6=v6+n2;

if(n3>n1 && n3>n2 && n3>n4 && n3>n5)

v6=v6+n3;

if(n4>n1 && n4>n2 && n4>n3 && n4>n5)

v6=v6+n4;

if(n5>n1 && n5>n2 && n5>n3 && n5>n4)

v6=v6+n5;

JOptionPane.showMessageDialog(null,v6,Menor e Maior valor,

JOptionPane.PLAIN_MESSAGE);

System.exit(0);

}

}

Também queria saber se toda vez que o Java lê algo do teclado, ele lê como um String e temos que converter para o determinado tipo de dado que vamos usar tipo int, double,float etc…???
“Não sou eu mas sou eu que falo por mim.”

7 Respostas

ViniGodoy

Oi.

Dá para deixar menor sim, mas para isso você deve usar vetores. Já aprendeu ou ouvir falar deles?
Outra possibilidade é usar classes prontas do Java. Provavelmente na sua faculdade não será possível recorrer a essa opção, mas fique tranquilo que esse tipo de tarefa, numa programação usual, costuma a ser muito fácil.

Sempre que o Java lê com o JOptionPane, a entrada é feita numa String sim. Isso porque as caixas de texto trabalham com String.

Finalmente, sempre que postar código, por favor, siga essas dicas:
http://www.guj.com.br/posts/list/50115.java

robson.simonassi

Cara Pega umas Apostilas de SWING ai

http://apostilando.com/download.php?cod=2074&categoria=

jolivier

coloca seu códigos dessa forma fica mais fácil de ler
Acredito que de para colocar o operador for uns vetores.

package maioremenor; 

import javax.swing.JOptionPane; 

public class MaiorEmenor 
{ 
public static void main(String[] args) 
{ 
String v1=JOptionPane.showInputDialog("Digite um número"); 
String v2=JOptionPane.showInputDialog("Digite mais um número"); 
String v3=JOptionPane.showInputDialog("Digite mais um número"); 
String v4=JOptionPane.showInputDialog("Digite mais um número"); 
String v5=JOptionPane.showInputDialog("Digite mais um número"); 
String v6=""; 

int n1=Integer.parseInt(v1); 
int n2=Integer.parseInt(v2); 
int n3=Integer.parseInt(v3); 
int n4=Integer.parseInt(v4); 
int n5=Integer.parseInt(v5); 

if(n1==n2 && n1==n3 && n1==n4 && n1==n5) 
{ 
JOptionPane.showMessageDialog(null,"Todos os valores são iguais", 
"RESULTADO",JOptionPane.PLAIN_MESSAGE); 
System.exit(0); 
} 
if(n1<n2 && n1<n3 && n1<n4 && n1<n5) 
v6=v6+n1+"\n"; 
if(n2<n1 && n2<n3 && n2<n4 && n2<n5) 
v6=v6+n2+"\n"; 
if(n3<n1 && n3<n2 && n3<n4 && n3<n5) 
v6=v6+n3+"\n"; 
if(n4<n1 && n4<n2 && n4<n3 && n4<n5) 
v6=v6+n4+"\n"; 
if(n5<n1 && n5<n2 && n5<n3 && n5<n4) 
v6=v6+n5+"\n"; 

if(n1>n2 && n1>n3 && n1>n4 && n1>n5) 
v6=v6+n1; 
if(n2>n1 && n2>n3 && n2>n4 && n2>n5) 
v6=v6+n2; 
if(n3>n1 && n3>n2 && n3>n4 && n3>n5) 
v6=v6+n3; 
if(n4>n1 && n4>n2 && n4>n3 && n4>n5) 
v6=v6+n4; 
if(n5>n1 && n5>n2 && n5>n3 && n5>n4) 
v6=v6+n5; 
JOptionPane.showMessageDialog(null,v6,"Menor e Maior valor", 
JOptionPane.PLAIN_MESSAGE); 
System.exit(0); 
} 
}
wariows

Opa, primeiro bem-vindo, depois dá uma passada em http://www.guj.com.br/posts/list/50115.java e vê como proceder ao postar tópicos.

Mas indo para o assunto: Sim, dá pra melhorar… O que vc está fazendo neste código é copiar o que você faria em C ou em Pascal e adaptando para a sintaxe de java. Antes de aprender a programar em java, você precisa aprender Orientação a Objetos. Aqui no fórum tem muitos tópicos discutindo melhores "approach"´s num modelo de objetos.

Enfim, procura algum livro sobre O.O. e estuda antes de entrar nas especificidades da linguagem. Tem um livro da série Use a cabeça sobre orientação a objetos (eu não conheço este livro especifico, mas conheço alguns livros dessa série e acho eles bem didáticos, este de OO não deve ser ruim).

[]´s

GALACTUS

Ae galera, valeu mesmo pela força, e eu não sabia que quando a gente vai postar um codigo fonte temos que abrir code e fechar /code.

valeu galera, se ligam nesse programa:

//Programa que lê um número e apresenta se ele é par ou impar

package parouimpar;

import javax.swing.JOptionPane;

public class ParouImpar 
{
    public static void main(String[] args) 
    {
        String v1=JOptionPane.showInputDialog("Digite um numero");
        String v2="";
        
        int n1=Integer.parseInt(v1);
        
        if(n1%2==0)
        {
            JOptionPane.showMessageDialog(null,"O Número "+n1+" é par",
                    "Resultado",JOptionPane.PLAIN_MESSAGE);
            System.exit(0);
        }
        else
            JOptionPane.showMessageDialog(null,"O Número "+n1+" é impar",
                    "Resultado",JOptionPane.PLAIN_MESSAGE);
            System.exit(0);
    }

}

eu sei que pra vocês é um lixo já são 5 estrelas mas pra mim é um putlizer hahaahaha
valeu galera pela ajuda, até mais.

jolivier

Mais ou menos assim:

package maioremenor; 

import javax.swing.JOptionPane; 

public class MaiorEmenor {
int nVetor[] = new int[6];
 
public static void main(String[] args) 
{ 

 for(int n = 0;n<nVetor.length;n++ ){
     nVetor[n] = JOptionPane.showInputDialog("Digite o "+n+"Numero ");   
} 

//Aqui o restante do codigos

}
GALACTUS

A sim, eu tenho que usar vetores né, valeu, vou tentar esta dica.

Criado 18 de setembro de 2008
Ultima resposta 18 de set. de 2008
Respostas 7
Participantes 5