我编写了一个程序,它接受一个 String
作为用户输入并显示字母、数字和 white-spaces
的计数。我使用 Tokenizer
类编写了代码,它计算字母和数字,但省略了 white-spaces
。有什么想法吗?
import java.util.Scanner;
public class line {
public static void main(String[] args) {
System.out.println("Enter anything you want.");
String text;
int let = 0;
int dig = 0;
int space= 0;
Scanner sc = new Scanner(System.in);
text = sc.next();
char[]arr=text.toCharArray();
for(int i=0;i<text.length();i++) {
if (Character.isDigit(arr[i])) {
dig++;
} else if (Character.isLetter(arr[i])) {
let++;
} else if (Character.isWhitespace(arr[i])) {
space++;
}
}
System.out.println("Number of Letters : "+let);
System.out.println("Number of Digits : "+dig);
System.out.println("Number of Whitespaces : "+space);
}
}
最佳答案
Scanner
默认情况下将输入分成标记,使用 whitespace 作为分隔符!
简单地说,它吞噬了所有的空白!
您可以使用 sc.useDelimiter(/*ToDo - 此处合适的字符 - 可能是分号*/)
将分隔符更改为其他内容。
关于java - 在java中计算字符串中的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35602690/