buenas ayuda porfavor el programa tiene que hacer que el cupon no se repita que solo salga una vez despues de dar todas las cantidades y los precios gracias, osea que lo tengo que sacar del for pero como.

import javax.swing.JOptionPane;
public class cinco_prod2
{
public static void main(String[] args)
{
int cant;
double prec;
int n;
int i;
double subt;
subt=0;
double iva;
double total;
double total2;
int cupon;
n=Integer.parseInt(JOptionPane.showInputDialog ("Cuantos productos ?"));
for(i=1;i<=n;i++)

{
cant=Integer.parseInt(JOptionPane.showInputDialog ("Ingrese la cantidad del "+i+"º producto"));
prec=Double.parseDouble(JOptionPane.showInputDialo g ("Ingrese el precio del "+i+"º producto"));

subt=subt+(prec*cant);
iva=subt*0.16;
total=iva+subt;
}
cupon=Integer.parseInt(JOptionPane.showInputDialog ("Tienes cupon 1 si no 2"));

if (cupon==1)
{
total2=total*0.9;
JOptionPane.showMessageDialog (null,"El total a pagar es $"+total2+ " con cupon");
}
else
{
JOptionPane.showMessageDialog (null,"EL total a pagar es $"+total+ " sin cupon");
}

}
}