While não está funcionando neste código... o que fiz de errado?

import javax.swing.*;
public class arealote {

public static void main (String args[]) {

	String largura = JOptionPane.showInputDialog("Qual a largura do lote?");
	double largura2 = Double.parseDouble (largura);
		while (largura2 <= 0 && largura2 >= 2000)
		{
		String msgWhile1 = ("Largura do lote está incorreto.");
		JOptionPane.showMessageDialog(null, msgWhile1);
		System.exit(0);
		}
	String comprimento = JOptionPane.showInputDialog("Qual o comprimento do lote?");
	double comprimento2 = Double.parseDouble (comprimento);
		while (comprimento2 >= 0 && comprimento2 <= 2000)
		{
		String msgWhile2 = ("Comprimento do lote está incorreto.");
		JOptionPane.showMessageDialog(null, msgWhile2 );
		System.exit(0);
		}


	double area = largura2 * comprimento2;

	String msg = ("A área total do lote é:\n" +area+ "metros quadrados.");

	JOptionPane.showMessageDialog(null, msg);

}

}

Aqui

while (largura2 <= 0 && largura2 >= 2000) 

A largura não pode ser ao mesmo tempo menor ou igual a zero e maior ou igual a 2000.

e outra, porque usar um loop e não um if… não vi sentido em usar um loop nesse codigo

brother uma dica… quando
colocar o fonte coloque entre a tag
para melhor entendimento da leitura ^^
vou refazer uma parte teu código a meu modo
para voce tentar entender…

String largura = JOptionPane.showInputDialog("Qual a largura do lote?"); while (largura2 <= 0 || largura2 >= 2000) // neste while enquanto o usuário digitar algo que não satisfaça esta condição, vai ser solicitado que digite novamente // Eu colocaria o Operador || pois sendo um ou outro ele entra no loop e assim que digitar algo válido ele sai { double largura2 = Double.parseDouble (largura); String msgWhile1 = ("Largura do lote está incorreto.Digite novamente"); JOptionPane.showMessageDialog(null, msgWhile1); }
Testa ai e diz se funcionou pra vc
Abs

Funcionou… fiz uma correção no código. Tirei a conversão do String para Double de dentro do while.

Como faz para colocar essa tag no Forum?
Acabei de me cadastrar no Forum e estou me adaptando.

Obrigado.

coloque entre a tag sem aspas “[“code”]“codigo entra aqui”[”/code"]"
Abs

Danilo Andrade, mostre como você faria o código com o if.

Obrigado.

Testando com a tag…

String largura = JOptionPane.showInputDialog("Qual a largura do lote?"); double largura2 = Double.parseDouble (largura); while(largura2 <= 0 || largura2 >= 2000) { String msgWhile1 = ("Largura do lote está incorreto.Digite novamente"); JOptionPane.showMessageDialog(null, msgWhile1); System.exit(0); }