2016-04-10 2 views
0
import java.util.Scanner; 
import java.io.*; 

public class Solution { 

public static void main(String[] args) { 
     Scanner sc=new Scanner(System.in); 
     int x=sc.nextInt(); 

     Double y= sc.nextDouble(); 
     Scanner sc1=new Scanner(System.in); 
     String name = sc1.nextLine(); 


     System.out.println("String: "+name); 
     System.out.println("Double: "+y); 
     System.out.println("Int: "+x); 
} 
} 

ввода: (до 'баран' есть 5 пространство)Как читать пространство перед строкой с помощью сканера в java?

343434343

343.434343

ram sdf

Ожидаемые результаты: (перед 'баран' имеют 5 пространство)

ram sdf

343.434343

343434343

ответ

1

Вам не нужно создавать два сканера. Кроме того, вам нужно будет сделать nextLine(), как только вы прочтете двойной.

Вот исправленный фрагмент кода:

public static void main (String[] args) throws Exception { 
    Scanner sc = new Scanner(System.in); 
    int x = sc.nextInt(); 
    Double y = sc.nextDouble(); 

    /* Note the change here */ 
    sc.nextLine(); 
    String name = sc.nextLine(); 

    System.out.println("String: " + name); 
    System.out.println("Double: " + y); 
    System.out.println("Int: " + x); 
} 

Выход:

String:  ram sdf 
Double: 343.434343 
Int: 343 
Смежные вопросы