Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 小写第一个字母,并使用“_&引用;而不是",&引用;在爪哇_Java_String - Fatal编程技术网

Java 小写第一个字母,并使用“_&引用;而不是",&引用;在爪哇

Java 小写第一个字母,并使用“_&引用;而不是",&引用;在爪哇,java,string,Java,String,我有一个Java程序,我想将字符串中单词的每个字符都设置为小写字符,并将空格“”替换为“\”。下面是一些示例: “高层建筑”->“高层建筑” “红鞋”->“红鞋” “水”->“水” 如果可能的话,我不想使用任何图书馆。你介意告诉我怎么做吗?非常感谢您的评论。公共静态字符串修改字符串(String str){ public static String modifyString(String str) { if (str == null) return null;

我有一个Java程序,我想将字符串中单词的每个字符都设置为小写字符,并将空格“”替换为“\”。下面是一些示例:

  • “高层建筑”->“高层建筑”
  • “红鞋”->“红鞋”
  • “水”->“水”
如果可能的话,我不想使用任何图书馆。你介意告诉我怎么做吗?非常感谢您的评论。

公共静态字符串修改字符串(String str){
public static String modifyString(String str) {
    if (str == null)
        return null;
    if (str.isEmpty())
        return str;
    
    StringBuilder buf = new StringBuilder(str.length());
    
    for(int i = 0; i < str.length(); i++) {
        char ch = str.charAt(i);
        buf.append(ch == ' ' ? '_' : Character.toLowerCase(ch));
    }
    
    return buf.toString();
}
如果(str==null) 返回null; if(str.isEmpty()) 返回str; StringBuilder buf=新的StringBuilder(str.length()); 对于(int i=0;i

p.S.确定它可以是更多其他解决方案,例如
str.replace(“,”).toLowerCase()
。我的解决方案使用的是
StringBuilder
,这是构建
String
的正确方法,并且不使用
Regexp
。时间复杂度是
O(n)

str.replace(“,”).toLowerCase()
str.replaceAll(“\\s+”,“”).toLowerCase()
您自己尝试过什么吗,您看过
字符串
类的文档了吗?谢谢您的评论。是的,我自己尝试了一些东西,但没有成功。谢谢奥列格的回答。当我使用它时,我收到错误消息“无法解析'String'中的'chatAt'方法”。我需要任何外部库吗?
str.charAt(I)
-输入错误!啊,好的,谢谢奥列格的帮助:-)