我写了一个程序,需要String
作为用户输入并显示字母、数字和的数量white-spaces
。我使用以下代码编写了代码Tokenizer
-class,它计算字母和数字,但忽略了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
默认情况下将输入分解为标记,使用空白作为分隔符!
简而言之,它吞噬了所有的空白!
您可以使用以下命令将分隔符更改为其他内容sc.useDelimiter(/*ToDo - suitable character here - a semicolon perhaps*/)
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)