当前位置: 首页 > 知识库问答 >
问题:

反向字符串方法类型不匹配错误java

华安民
2023-03-14

我试图使用一种方法来反转字符串中的字符,但我不断遇到类型不匹配错误。有什么想法吗?

public static String userReverse (String userEntry3) {
    String reverse = "";    
       for (int i = (userEntry3.length() -1); i >= 0 ; i--) {
       reverse = System.out.println(userEntry3.charAt(i));
    }
    return reverse;
    }

共有3个答案

窦志新
2023-03-14

一种更优化的反转字符串的方法包括两个指针的方法:使用一个指针从开头开始,另一个指针从结尾开始。当他们相遇时,你们的关系已经颠倒了

public static String userReverse (String userEntry3) {

    int i = 0;
    int j = userEntry3.length()-1;
    StringBuilder myName = new StringBuilder(userEntry3);

    for(; i < j ; i++,j--){
        char temp = userEntry3.charAt(i);
        myName.setCharAt(i,userEntry3.charAt(j));
        myName.setCharAt(j,temp);
    }
    return myName.toString();

}
秦博达
2023-03-14

去掉System.out.println并添加一个=来连接新的char

public static String userReverse (String userEntry3) {
    String reverse = "";    
    for (int i = (userEntry3.length() -1); i >= 0 ; i--) {
        reverse += userEntry3.charAt(i);
    }
    return reverse;
}

编辑:正如蒂姆在评论中所说,StringBuilder也可以使用(这比在循环中串联字符串更好):

public static String userReverse (String userEntry3) {
    StringBuilder reverse = new StringBuilder();    
    for (int i = (userEntry3.length() -1); i >= 0 ; i--) {
        reverse.append(userEntry3.charAt(i));
    }
    return reverse.toString();
}
邵毅
2023-03-14

系统。出来println是一种无效方法。它什么也不返回。因此,它不能分配回字符串变量

你的代码错了。

如果你想反转一个字符串,你可以使用这个:

public static String userReverse (String userEntry3) {
    return new StringBuilder(userEntry3).reverse().toString()
}
 类似资料:
  • 与有界通配符相关的编译器错误 Java:通配符类型不匹配导致编译错误

  • 问题内容: 我在项目中创建了一个工厂类,从理论上讲,该类允许我为任何(受支持的)给定类型创建管理器。与管理器进行交互使我可以更改给定类型的某些属性。我面临的问题是,当我尝试为泛型类型创建管理器时,编译器粉碎了我的希望和梦想。 以下代码是我正在使用的简化版本。我尝试创建“ test3Manager”的行将不会编译,并且我试图了解为什么会这样。它下面的线显示了一种“解决方法”,我正试图避免这种情况。

  • 与有界通配符相关的编译器错误 应兼容的不兼容通配符类型

  • 问题内容: 我试图在Swift中使用JSONDecoder将JSON转换为Structs,所以我编写了所有Structs,将它们修改了几个小时,但它仍然给我这个错误。我不知道是否有办法查看给出此信息的行。我将在下面发布我的struct,并在其后发布Json File链接。 完整的错误描述是: typeMismatch(Swift.Dictionary ,Swift.DecodingError.Co

  • 刚升级到Angular 14,出现错误: 呼叫发件人: 路线是 整件事在Angular 10上运行得很好。有什么想法吗?

  • 问题内容: 我收到以下错误: 第一个字段是格式。 有任何想法吗? 谢谢。 问题答案: 当您将字符串值插入日期列时,则需要在使用函数期间将其转换为日期。使用此功能时,您将提供字符串的格式。 功能格式: 因此,您的查询将如下所示: 参见带有演示的SQL Fiddle