-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathCharCount.java
executable file
·36 lines (34 loc) · 1.5 KB
/
CharCount.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import java.util.Scanner;
/**
* This program performs the same task as CharCountSwitch.java but without
* a switch statement (and is correct).
*/
public class CharCount {
public static void main(String[] args) {
System.out.print("Enter a string of characters: ");
String s = new Scanner(System.in).nextLine();
int digitCount = 0, punctuationCount = 0, letterCount = 0;
for (int i = 0; i < s.length(); ++i) {
if (Character.isDigit(s.charAt(i))) {
digitCount++;
} else if (Character.isLetter(s.charAt(i))) {
letterCount++;
} else if (Character.getType(s.charAt(i))
== Character.START_PUNCTUATION
|| Character.getType(s.charAt(i))
== Character.END_PUNCTUATION
|| Character.getType(s.charAt(i))
== Character.CONNECTOR_PUNCTUATION
|| Character.getType(s.charAt(i))
== Character.DASH_PUNCTUATION
|| Character.getType(s.charAt(i))
== Character.OTHER_PUNCTUATION) {
punctuationCount++;
}
// Will the code above provide accurate counts?
}
System.out.printf("Your input contained %d digits, %d "
+ "punctuaion marks, and %d letters.%n",
digitCount, punctuationCount, letterCount);
}
}