webForumDet fria alternativet

Programmet bryts inte

Java

7 svar · 625 visningar · startad av Re-JeeP

Medlem sedan sep. 200642 inlägg
Frågan#1

Hej!

Hur kommer det sig att programmet inte bryts när jag trycker enter?

Det funkar om jag använder sc.nextLine() istället för sc.next()

import java.util.*;

public class B
{
	public static void main(String[] args)
	{
		while(true)
		{
			Scanner sc = new Scanner(System.in);
			
			if(sc.next().equals(""))
				System.exit(0);
		}
	}
}

Mvh // Johan

Medlem sedan maj 20012 237 inlägg
#2

För mig bryts den om jag inte skriver nåt och bara trycker på enter.

Medlem sedan sep. 200642 inlägg
#3

jme skrev:

För mig bryts den om jag inte skriver nåt och bara trycker på enter.

Sorry, använde nextLine() i koden. Har ändrat det nu.

Kolla om den bryts nu!

Medlem sedan maj 20012 237 inlägg
#4

Om du inte skriver in nåt och trycker på enter så väntar den fortfarande på input från användaren.

Varför inte köra med nextLine()?

Medlem sedan sep. 200642 inlägg
#5

jme skrev:

Om du inte skriver in nåt och trycker på enter så väntar den fortfarande på input från användaren.

Varför inte köra med nextLine()?

För att jag bara vill läsa in ett ord.

Medlem sedan maj 20012 237 inlägg
#6

Kan du inte läsa in en hel rad och därefter bryta ut första ordet ur strängen?

Medlem sedan sep. 2001961 inlägg
#7

Du använder Scanner-klassen lite fel...

Du bör skriva såhär:

import java.util.*; 

public class B 
{ 
    public static void main(String[] args) 
    { 

       Scanner sc = new Scanner(System.in); 

        while(sc.hasNext()) 
        {             
            System.out.println(sc.next());               
        } 
        System.exit(0); 
    } 
}
Medlem sedan sep. 200642 inlägg
#8

Lime skrev:

Du använder Scanner-klassen lite fel...

Du bör skriva såhär:

import java.util.*; 

public class B 
{ 
    public static void main(String[] args) 
    { 

       Scanner sc = new Scanner(System.in); 

        while(sc.hasNext()) 
        {             
            System.out.println(sc.next());               
        } 
        System.exit(0); 
    } 
}

Ahh... snyggt! Tackar!

272 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
136 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)