Gå til innhold

Avbryte while-loop når bruker trykker "0"


Anbefalte innlegg

Holder på med en oppgave som jeg står litt fast i.

 

Det jeg ønsker er enkelt og greit å summere alle tallene brukeren trykker inn, helt til han trykker 0. Så fort bruker skriver 0 (som et enkeltstående tall, ikke som i 10, 1000 osv.) ønsker jeg at loopen skal stoppe og at den totale summen skrives ut.

 

Jeg har fått loopen og summeringen til å fungere, men jeg finner ikke ut hvordan jeg kan få loopen til å stoppe når bruker trykker 0.

 

Her er koden jeg har skrevet:

 

edit: for ordens skyld, så har jeg forsøkt meg med while (input == 0), while (total == 0) o.l., men det fungerte dårlig :D

	System.out.println("Addisjon av brukerens tall");
	Scanner in;
	in = new Scanner(System.in);

	int total = 0;
	while (in.hasNextInt()) 
	    {
		int input = in.nextInt();
		total = total + input;
		System.out.println(total);
		if (input == 0)
		    {
			System.out.println(total);
		    }
	    }
Endret av kimbert007
Lenke til kommentar
Videoannonse
Annonse

kan jo alltids vurdere å forandre whilen til (tror jeg)

 

while (in.hasNextInt() && in.nextInt() != 0)

så kan du skrive ut etter while.

 

men du kan også bruke break; innen if også som personen over sier, men antall sjekker blir vell mye godt det samme, med tanke på ressurser..

 

og da ender du opp med noe sånt (bare kommenter om det er noe du lurer på med dette, eller om det er noe som ikke fungerer med dette):

 

System.out.println("Addisjon av brukerens tall");

Scanner in = new Scanner(System.in);

int total = 0;

while (in.hasNextInt() && in.nextInt() !=0){

total += in.nextInt(); // det at det er forandret til += betyr bare at den skal

} // legge til på det tallet som total er.

System.out.println(total);

Endret av kvisvik
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...