读入字符串并打印一个字符

时间:2019-11-02 17:45:51

标签: java string arraylist char

我应该读入一个字符串,将其转换为小写,然后返回字符串中的第一个字符。如果第一个字符不是字符串,则应该打印f, err := os.Open("config.yml") if err != nil { processError(err) } var cfg Config decoder := yaml.NewDecoder(f) err = decoder.Decode(&cfg) if err != nil { processError(err) }

我尝试过:

\0

2 个答案:

答案 0 :(得分:0)

在返回变量之前,需要使用charString变量更改为String.valueOf(c)变量。

String ch = sc.nextLine();
char c = ch.charAt(0);
      if (Character.isLetter(c)) {
            ch = ch.toLowerCase();
            c = ch.charAt(0);
            return String.valueOf(c);
        }
   return String.valueOf('\0');
}

答案 1 :(得分:0)

该异常表示您的扫描仪没有发现要从其源返回的任何内容。 Java中的字符串不同于C字符串,因为它们至少具有一个字符('\ 0')。您可以通过以下附加操作来保护程序免于失败:

    try
    {
        String ch = sc.nextLine();
        ch = ch.toLowerCase();
        char c = ch.charAt(0);
        if (Character.isLetter(c))
        {
            return c;
        }
        return '\0';
    }
    catch(StringIndexOutOfBoundsException ex)
    {
        System.out.println("You have entered an empty string");
    }
}