java - 使用 For 循环识别字符串中的数字

标签 java loops for-loop numbers letter

我试图确定使用 for 循环提供的输入中是否有数字。我已经尝试了很长时间了,甚至在Google第二页上进行了搜索。我决定寻求一些帮助。这是我到目前为止所尝试过的:

for (c = 0 ; c < 6 ; c = c++)
{
    c = input.charAt (0);

    if (Character.isDigit (c))
    {
        System.out.println ("Input must only contain letters.");
        return;
    }

}

基本上,我试图扫描所有字母,并单独测试它们是否是字母或数字,这就是我遇到的问题,因为只扫描了第一个字母。我也尝试在循环中输入“c++”。我该如何扫描每个字母?

编辑:哎呀,这是一个错误。我将其更改为 c = c + 1 但它不起作用,我将其更改回 c++ 但最终结果为 c = c++。

最佳答案

这一行:c = input.charAt(0);有两个问题。

首先,您可能不希望每次循环执行时都重置迭代值c。因此,也许可以将其更改为不同的变量,如下所示:

char chr = input.charAt(....

其次,您仅获取第一个 char,因为您将 0 发送到 .charAt() 函数。试试这个:

char chr = input.charAt(c);
if (Character.isDigit (chr))
{
    System.out.println ("Input must only contain letters.");
    return;
}

关于java - 使用 For 循环识别字符串中的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41270395/

相关文章:

显示表格的php;第一列带有 mysql 列注释和第二列转置行结果

c++ - 需要将 for 循环的上限保存在额外的变量中吗?

c# - C# 中奇怪的循环

Javascript - Tic Tac Toe - 如何遍历获胜条件?

python - 从解析的数据生成简单的 RSS 提要

java - UML类图主类

Java,线程 - 同步变量

java - 如何在java中从tcp流播放声音

C++ while循环和getline问题

java - 打印二维数组中值的位置