java - 如果代码中没有数字,将返回 true 的方法

标签 java arrays string for-loop

 package code;
 public class WriteUp{

 public boolean containsNoDigits(String s){
    s  = s.toLowerCase();
    char[] n = {'0', '1', '2', ....., '9'} //i wrote out 0-9
    for (int i = 0; i < s.length(); i++){
            char c = s.charAt(i);
            if (c == n[i]);
                  return false; //if string contain digit
    }
    return true; //if string contain NO digit
 }
 }

我想写一个方法(使用数组)来检查我的字符串是否包含数字。数字 => 假;没有数字 => 真;

我的代码未能通过 JUnit 测试

JUnit 测试:

  @Test
  public void test(){
        code.WriteUp wu = new code.WriteUp();
        boolean expected = true;
        boolean actual = wu.containsNoDigits("there is no digit")
        assertTrue("", expected ==actual);
  }

  @Test
  public void test01(){
        code.WriteUp wu = new code.WriteUp();
        boolean expected = false;
        boolean actual = wu.containsNoDigits("there are digit, 0342432")
        assertTrue("", expected ==actual);
  }

如何修改代码使其正常工作

最佳答案

分号终止 block ,删除它

if (c == n[i]); // <-- here
    return false;

实际上是

if (c == n[i]); // <-- here
return false;

你需要类似的东西(最好有大括号)

if (c == n[i]) {
    return false;
}

if (c == n[i])
    return false;

此外,正则表达式会更有效率。喜欢

public boolean containsNoDigits(String s){
    return !s.matches("\\d"); // <-- digit pattern
} 

关于java - 如果代码中没有数字,将返回 true 的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28952558/

相关文章:

JavaScript。从关联数组中提取值

php - 正则表达式单词前面有 char

Java Spring 3 MVC Controller 显式加载服务

java - 创建名称为 'cxf' 的 bean 时出错

java - 是否需要java的finalize方法?

c - 可靠地确定数组中元素的数量

c - 使用结构数组内部的数组

c - strcmp 行为

C# 使用用户输入来选择要从中随机打印元素的字符串数组

java - 从时区对象返回错误的夏令时偏移