我试图确定使用 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/