2015-02-03 3 views
-11

Я хочу, чтобы выход программы был R. pandya, если я вхожу в rachit pandya, но вместо этого он говорит, что длина введенного предложения (rachit pandya) равна 6, но это должно быть 13, чтобы работать моя программа может кто-нибудь, пожалуйста, сообщите мне об ошибке код указан.Ошибка в нижеуказанной программе PLS решить ее

public class surName { 
    public static void main(String args[]) { 
     Scanner sc = new Scanner(System.in); 
     System.out.println("Enter the Name-:"); 
     String s = sc.next(); 
     s = " " + s; 
     for (int i = 0; i < s.length() - 1; i++) { 
      if (Character.isWhitespace(s.charAt(i))) { 
       System.out.print(Character.toUpperCase(s.charAt(i + 1)) + "."); 
      } 
     } 
     int a = s.lastIndexOf(" "); 
     for (int i = a + 1; i < s.length(); i++) { 
      System.out.print(s.charAt(i)); 
     } 
    } 
} 
+1

я буквально открыл этот вопрос просто downvote, «пожалуйста решить» не является адекватным вопрос – epoch

ответ

1

Вместо

String s = sc.next() 

использование

String s = sc.nextLine();//would read your last and first name i.e. whole line as one String 

, как next метод просто читать "Rachit" маркер (ничего перед умолчанию DELIM iter space), а не целую строку.

+1

получил это THx много своего рода нелепой ошибки ... :( –

0

Вот еще один способ:

Scanner sc = new Scanner(System.in); 

    System.out.println("name?"); 
    String name = sc.nextLine(); 

    String output[] = name.split(" "); 

    System.out.println(output[0].charAt(0)+". " + output[1]); 
Смежные вопросы