Logica(while)

O que tem de errado neste codigo?

import javax.swing.JOptionPane.*;

public class Maior_num
{
public static void main(String args[])
{
String a;
int num,maior,seg_maior,aux;
int cnt = 1;
maior = 0;
seg_maior = 0;
while(cnt<=4)
{
a = javax.swing.JOptionPane.showInputDialog("Escreva os numeros: ");
num = Integer.parseInt(a);
if(num>maior)
{
maior = num;
}
if((seg_maior<maior)&&(num>seg_maior))
{
seg_maior = maior;
}

      cnt += 1;
     }	 
    System.out.println("O maior numero lido e: " + maior);
    System.out.println("O segundo maior numero e: " + seg_maior);
   System.exit(0);
 }

}

tenho que achar o maior numero e seu segundo maior num grupo de 4 numeros… Alguem sabe dizer onde errei e como posso concertar?
grato.

Seria interessante você dizer o erro que ocorreu no código :slight_smile:
Tente assim:

import javax.swing.JOptionPane.*;

public class Maior_num
{
	public static void main(String args[])
	{
		String a;
		int num,maior,seg_maior,aux;
		int cnt = 1;
		maior = 0;
		seg_maior = 0;
		while(cnt<=4)
		{
			a = javax.swing.JOptionPane.showInputDialog("Escreva os numeros: ");
			num = Integer.parseInt(a);
			
			if(num > maior)
			{
				seg_maior = maior; 
				maior = num;
			}
			else if( num > seg_maior && num < maior )
			{
				seg_maior = num;
			}
			
			
			cnt += 1;
		}
		System.out.println("O maior numero lido e: " + maior);
		System.out.println("O segundo maior numero e: " + seg_maior);
		System.exit(0);
	}
}