Tak for forslaget :-)
Jeg var nødt til at lave lidt om for at få det til at køre, men grundideen skulle være den samme. Desværre ser det ud til, at den ikke kommer forbi hasNextInt.
Som du kan se i koden har jeg tilføjet et par tjek for at se hvor i koden programmet har været og ved indtastningen "1 2 3 4" giver den følgende tilbagemelding " 1 1"
Det vil sige at den har været 2 gange i hasNextInt på 4 tal, men aldrig kommer videre?
- ArrayList<Integer> tal = new ArrayList<Integer>(); //opret arrayList
-
- java.util.Scanner tastatur = new java.util.Scanner(System.in); // forbered
- System.out.println("indtast en række tal, adskilt af mellemrum. Afslut med enter.");//bed om input
-
- //Bliv ved med at scanne, så længe der er nye tal
- String koer = "koer"; // en hjemmelavet boolean :-)
-
- while(koer.equals("koer") ){ //tjek om der skal køres
- if(tastatur.hasNextInt()){ //tjek om der er et tal
- System.out.println("1"); //test af hvor programmet har været
- tal.add(tastatur.nextInt()); //tilføj til ArrayList
- tastatur.next(); //gør klar til næste input
- } else if(tastatur.hasNextLine()){ //hvis der kommer en ny linje (enter)
- System.out.println("2"); //test af hvor programmet har været
- koer = "slut"; //afslut while løkken
- } else if(tastatur.hasNext()){ //er der input der ikke er en int
- System.out.println("3"); //test af hvor programmet har været
- tastatur.next(); //gør klar til næste input
- }
- }
-
- //skriv første tal og antal tal ud
- System.out.println("det første tal var " + tal.get(0) + " og du indtastede" + tal.size() + " tal.");
Jeg tror jeg bliver nødt til at prøve en helt anden tilgang. Jeg smider lige en besked herinde´når noget lykkedes - men forslag modtages selvfølgelig stadig gerne :-)
[red]
Nu var der noget der lykkedes.
Jeg kan ikke få den til at modtage et tilfældigt antal numre uden en angivelse af hvornår den skal stoppe, men det her fungerer da.
Takker endnu en gang for forslagene :-)
- ArrayList<Integer> tal = new ArrayList<Integer>(); //opret arrayList
- String inputValue; //opret en variabel
-
- java.util.Scanner tastatur = new java.util.Scanner(System.in); // forbered
-
-
- System.out.print("Skriv nogle tal eller EXIT for at stoppe: "); //giv brugeren besked
-
- inputValue = tastatur.nextLine(); //modtag input som string
-
- while (!inputValue.toUpperCase().equals("EXIT")) { //kør/stop kondition
- tal.add(Integer.parseInt(inputValue)); //lav om til int
- System.out.print("Skriv nogle tal eller EXIT for at stoppe: "); //bed om nyt tal eller afslut
- inputValue = tastatur.nextLine(); //modtag nyt input som string
- }
- System.out.println("det første tal var " + tal.get(0) + " og du indtastede " + tal.size() + " tal.");
Indlæg senest redigeret d. 21.12.2011 22:22 af Bruger #16948