请编程从键盘输入一行字符,分别统计出其中大写英文字母,小写英文字母,数字和其他字符的个数。go语言
时间: 2024-12-10 08:55:39 浏览: 8
tj.rar_visual c_数字字符个数
在Go语言中,你可以使用`bufio`包读取键盘输入,并使用`unicode`包来检查每个字符的类别。下面是一个简单的程序示例:
```go
package main
import (
"bufio"
"fmt"
"os"
"strings"
"unicode"
)
func countCharacters(s string) (upper int, lower int, digit int, other int) {
for _, r := range s {
switch {
case unicode.IsUpper(r):
upper++
case unicode.IsLower(r):
lower++
case unicode.IsDigit(r):
digit++
default:
if !unicode.IsPunct(r) && !unicode.IsSpace(r) { // 过滤掉标点和空格
other++
}
}
}
return upper, lower, digit, other
}
func main() {
reader := bufio.NewReader(os.Stdin)
fmt.Print("请输入一行字符:")
text, _ := reader.ReadString('\n')
text = strings.TrimSuffix(text, "\n") // 移除换行符
upper, lower, digit, other := countCharacters(text)
fmt.Printf("\n大写字母:%d\n", upper)
fmt.Printf("小写字母:%d\n", lower)
fmt.Printf("数字:%d\n", digit)
fmt.Printf("其他字符(非字母和数字):%d\n", other)
}
```
这个程序首先读入用户输入的一行文本,然后遍历每个字符,使用`unicode.IsUpper`、`unicode.IsLower`和`unicode.IsDigit`判断其类别并累加计数。最后打印各类型的字符个数。
阅读全文