首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java字符串输出将字符串的范围限制为字母表

Java字符串输出将字符串的范围限制为字母表
EN

Stack Overflow用户
提问于 2013-10-10 11:39:19
回答 2查看 418关注 0票数 1

我目前正在做一个练习(不是在别人给我之前做作业),我被困在了问题的最后一部分。

问题是:

代码语言:javascript
运行
复制
Write a program which will input a String from the keyboard, output the number of
seperate words, where a word is one or more characters seperated by spaces. Your
program should only count words as groups of characters in the rang A..Z and a..z

我可以完成第一部分,您可以从我的代码中看到这一点:

进口java.util.Scanner;

代码语言:javascript
运行
复制
public class Exercise10 {

public static void main(String[] args) {
    String input;
    int counter = 0;
    Scanner keyboard = new Scanner(System.in);

    System.out.println("Please enter your text: ");
    input = keyboard.nextLine();

    for(int i = 0; i < input.length(); i++){

        if(input.charAt(i) == ' '){
            counter++;
            }   
    }

    System.out.println(counter + 1);
    keyboard.close();

    }
 }

然而,让我困惑的是:

代码语言:javascript
运行
复制
Your program should only count words as groups of characters in the rang A..Z and 
a..z

在这种情况下我该怎么办?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-10 11:49:15

我不会给你一个完整的答案,但这里有两个提示。

与其计算空格,不如拆分字符串并遍历拆分后的每个元素:

文档

一旦您有了String拆分并可以迭代这些元素,就可以遍历每个元素中的每个字符,以检查它是否为字母:

提示

票数 2
EN

Stack Overflow用户

发布于 2013-10-10 11:46:59

我认为它不应将单独的标点符号视为单词。所以短语one, two, three !有三个词,即使!被空格隔开。

在空格上拆分字符串。对于每个令牌,检查字符;如果其中至少有一个位于a..zA..Z范围内,则递增计数器并到达下一个令牌。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19294793

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档