输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。java
时间: 2023-05-31 11:19:26 浏览: 117
### 回答1:
可以使用Java中的字符数组和循环来实现统计。
具体步骤如下:
1. 定义一个字符数组,用来存储输入的字符串。
2. 使用Scanner类获取用户输入的字符串。
3. 使用for循环遍历字符数组,统计其中英文字母、空格、数字和其它字符的个数。
4. 输出统计结果。
示例代码如下:
import java.util.Scanner;
public class CharCount {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一行字符:");
String input = scanner.nextLine();
char[] chars = input.toCharArray();
int letterCount = 0;
int spaceCount = 0;
int digitCount = 0;
int otherCount = 0;
for (char c : chars) {
if (Character.isLetter(c)) {
letterCount++;
} else if (Character.isDigit(c)) {
digitCount++;
} else if (Character.isSpaceChar(c)) {
spaceCount++;
} else {
otherCount++;
}
}
System.out.println("英文字母个数:" + letterCount);
System.out.println("空格个数:" + spaceCount);
System.out.println("数字个数:" + digitCount);
System.out.println("其它字符个数:" + otherCount);
}
}
运行结果:
请输入一行字符:Hello World! 123
英文字母个数:10
空格个数:2
数字个数:3
其它字符个数:1
### 回答2:
题目要求我们统计输入一行字符的英文字母、空格、数字和其他字符的个数。
首先,我们需要获取一行字符串的输入。在Java中,我们可以使用Scanner类从控制台读取一行输入。具体代码如下:
```
import java.util.Scanner;
public class CharacterCount {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入一行字符:");
String str = input.nextLine();
}
}
```
接着,我们需要定义统计不同字符的个数的变量,对应英文字母、空格、数字和其他字符。具体代码如下:
```
int letterCount = 0; // 英文字母个数
int spaceCount = 0; // 空格个数
int digitCount = 0; // 数字个数
int otherCount = 0; // 其他字符个数
```
我们可以使用for循环遍历一行字符串中的每个字符,并判断它属于哪种类型。对于英文字母、空格和数字,我们可以使用Java中的Character.isLetter()、Character.isWhitespace()和Character.isDigit()方法来进行判断。对于其他字符,我们可以判断它不属于前面三种类型即可。具体代码如下:
```
for (int i = 0; i < str.length(); i++) {
char ch = str.charAt(i);
if (Character.isLetter(ch)) {
letterCount++;
} else if (Character.isWhitespace(ch)) {
spaceCount++;
} else if (Character.isDigit(ch)) {
digitCount++;
} else {
otherCount++;
}
}
```
最后,输出各类字符的个数即可。具体代码如下:
```
System.out.println("英文字母个数:" + letterCount);
System.out.println("空格个数:" + spaceCount);
System.out.println("数字个数:" + digitCount);
System.out.println("其他字符个数:" + otherCount);
```
完整程序代码如下:
```
import java.util.Scanner;
public class CharacterCount {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入一行字符:");
String str = input.nextLine();
int letterCount = 0; // 英文字母个数
int spaceCount = 0; // 空格个数
int digitCount = 0; // 数字个数
int otherCount = 0; // 其他字符个数
for (int i = 0; i < str.length(); i++) {
char ch = str.charAt(i);
if (Character.isLetter(ch)) {
letterCount++;
} else if (Character.isWhitespace(ch)) {
spaceCount++;
} else if (Character.isDigit(ch)) {
digitCount++;
} else {
otherCount++;
}
}
System.out.println("英文字母个数:" + letterCount);
System.out.println("空格个数:" + spaceCount);
System.out.println("数字个数:" + digitCount);
System.out.println("其他字符个数:" + otherCount);
}
}
```
通过以上代码,我们可以完成输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数的Java程序。
### 回答3:
在Java程序中,要实现输入一行字符并统计其中英文字母、空格、数字和其他字符的个数,可以使用Scanner类或BufferedReader类从控制台获取输入的字符串。
使用Scanner类的示例代码如下:
```java
import java.util.Scanner;
public class CharCount {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一行字符:");
String str = scanner.nextLine();
scanner.close();
int letter = 0, space = 0, digit = 0, other = 0;
char[] chs = str.toCharArray();
for (char ch : chs) {
if (Character.isLetter(ch)) {
letter++;
} else if (Character.isDigit(ch)) {
digit++;
} else if (ch == ' ') {
space++;
} else {
other++;
}
}
System.out.println("英文字母个数:" + letter);
System.out.println("空格个数:" + space);
System.out.println("数字个数:" + digit);
System.out.println("其他字符个数:" + other);
}
}
```
该代码中,首先创建Scanner对象,从控制台获取输入的字符串,然后关闭Scanner对象。接着定义4个变量用来存储各个字符类型的数量。将输入的字符串转换成字符数组,然后遍历字符数组,使用Character类的isLetter()、isDigit()和equals()方法逐个判断字符的类型,并累加数量。最后,输出各个字符类型的数量。
如果要使用BufferedReader类获取输入的字符串,示例代码如下:
```java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class CharCount {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入一行字符:");
String str = reader.readLine();
reader.close();
int letter = 0, space = 0, digit = 0, other = 0;
char[] chs = str.toCharArray();
for (char ch : chs) {
if (Character.isLetter(ch)) {
letter++;
} else if (Character.isDigit(ch)) {
digit++;
} else if (ch == ' ') {
space++;
} else {
other++;
}
}
System.out.println("英文字母个数:" + letter);
System.out.println("空格个数:" + space);
System.out.println("数字个数:" + digit);
System.out.println("其他字符个数:" + other);
}
}
```
该代码中,创建BufferedReader对象并将其包装在InputStreamReader对象中,以便从控制台获取输入的字符串。然后输出提示信息,并从BufferedReader中读取一行字符串,最后关闭BufferedReader对象。接下来的代码与使用Scanner类的代码相同。