2012-04-13 38 views
6

Câu hỏi của tôi là phương pháp nào tôi nên sử dụng nếu tôi muốn nhận được tổng số ký tự mà người dùng nhập vào? mà không sử dụng mảng, tôi đã thử sử dụng .length() nhưng nó không trả về tất cả các ký tự nói từ tên và họ, nó chỉ trả về tên đầu tiên.Xuất tổng số ký tự chuỗi

Dưới đây là ví dụ về mã của tôi. (Xin vui lòng không cười im thực sự mới trong lập trình :))

System.out.print("Enter your first and last name: "); 
String yourName = keyboard.next(); 
System.out.println("Your name has a total of " + yourName.length() + " numbers"); 

gì đã xảy ra là nếu tôi nhập nói "Neo Matrix" nó sẽ chỉ trả lại 3.

Tôi đánh giá cao sự giúp đỡ nào. cảm ơn bạn!

+2

Đây có phải là bài tập về nhà, hoặc bạn đang làm điều này cho "vui vẻ"? (Tôi được nhắc nhở về một câu tục ngữ: cho một người đàn ông một chương trình, và bạn làm anh ta thất vọng một ngày. Dạy một người đàn ông lập trình, và bạn làm anh ta thất vọng.) – rajah9

+0

(đủ điều kiện, nghĩa là, cách bạn nhập khẩu nó ở trên cùng của tập tin của bạn) loại bàn phím biến có? –

+0

Sự cố xuất phát từ đối tượng "bàn phím". Phương thức "next()" của nó có thể cung cấp cho bạn từ tiếp theo của đầu vào và không phải là văn bản nhập toàn cục. Bạn có thể giải thích đối tượng này là gì không? –

Trả lời

9

Phương thức next() chỉ đọc từ đầu tiên của tên bạn. Thay vào đó, hãy thử nextLine().

+0

Cảm ơn bạn rất nhiều !!!! vì một số lý do tôi không nhìn thấy nó trên nhật thực khi bạn ctrl + không gian nó. tôi có thể đã bỏ qua nó. –

3

Bạn có thể muốn sử dụng Scanner.nextLine() để đọc toàn bộ dòng.

next() mã hóa String theo khoảng trắng, vì vậy bạn chỉ nhận được từ đầu tiên - như mong đợi.

Các vấn đề liên quan