webForumDet fria alternativet

Kontroll av While-loopen fungerar inte

3 svar · 829 visningar · startad av io86

io86Medlem sedan okt. 20143 inlägg
#1

**Hej!

Sitter med en uppgift i programmering som i stort sett är klar. Programmet ska avslutas om euro blir negativt men just nu så fortsätter programmet i evighet. Jag har suttit i flera timmar men hittar inte felet.

Någon annan som ser vad jag har gjort för fel?**

import javax.swing.*;

public class upp1 {

public static void main(String\[\] args){
	
	Double in = Double.parseDouble(JOptionPane.showInputDialog("Skriv in växlingskursen för att växla euro till Skr:"));

	while (true)
	{
		Double in2 = Double.parseDouble(JOptionPane.showInputDialog("Hur många euro vill du växla till Skr?"));
	
	if (in2\<100 && in2 \>0)
	{	

// String ut1 = String.format("Programmet är nu slut!");
JOptionPane.showMessageDialog(null, "Nu är programmet slut!");

	break;
	}
	
	double summa = (in\*in2);	
		
	if (in2\<100)
	{

	String ut = String.format("Växlingskursen är: %.1f \\nVäxlingsavgiften = 20,00 Skr" 
	\+ "\\nFör %.2f euro får du %.2f Skr", in, in2, summa);
	JOptionPane.showMessageDialog(null, ut);
	}
	else
	{
	String ut = String.format("Växlingskursen är: %.1f \\nVäxlingsavgiften = 00,00 Skr" 
	\+ "\\nFör %.2f euro får du %.2f Skr", in, in2, summa);
	JOptionPane.showMessageDialog(null, ut);
	}


	}

}

}

metalboyMedlem sedan jan. 2005870 inlägg
#2

Som du har skrivit nu så avbryts loopen om in2 är större än 0 och mindre än 100. Negativa tal och 0 kommer alltså att fortsätta loopen, likaså tal som är 100 eller högre.

io86Medlem sedan okt. 20143 inlägg
#3

Metalboy:

Ja det är klart! Jag ändrade till (in2<0)

Nu fungerar det! Tack för svar! Ibland blir man blind för felen!

metalboyMedlem sedan jan. 2005870 inlägg
#4

Du får du kolla om in2 är mindre än 0.

if (in2 < 0) {
    JOptionPane.showMessageDialog(null, "Nu är programmet slut!");
    break;
}
Genererad på 386 ms · cache AV · v20260730165559-full.f96bc7eb