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

如何在没有任何内置方法的情况下反向、替换、删除字符串

万俟玉书
2023-03-14

怎样才能实现对字符串的反向、替换、移除操作。我在面试的时候,面试官让我写一个逻辑给下面。

不使用任何内置方法编写逻辑***

我不能像使用%和/运算符在整数情况下那样断开字符串并进行比较。我要求他使用一个内置方法charAt();为了实现这一点。但是有没有方法可以在不使用charAt()方法的情况下实现呢?。

        String input = "This is an interview";
        char t = 't';
        char z = 'z';
        char space = ' ';
        String output = "";
        char c = 'i';
        for(int i=0;;i++){
            try{
                c = input.charAt(i);     //here I have used one inbuilt method but how can we avoid this
            }catch(Exception e){
                break;
            }
         
            if(c==t) {
                output = z + output;
           }else if(c!=space){ 
                output = c+output;  
            }
        }
        System.out.println(output);
    }

共有1个答案

蓝夕
2023-03-14

您可以使用字符数组(char[])而不是字符串,并使用[]来访问不同的字符而不是charat。

char input[] = {'T', 'h', 'i', 's', ' ', 'i', 's', ' ', 'a', 'n', ' ', 'i', 'n', 't', 'e', 'r', 'v', 'i', 'e', 'w'};
int size = 20;
String output = "";
for(int i = size-1; i >= 0; i--) {
    if(input[i] == 't')
        output += "c";
    else if(input[i] != ' ')
        output += input[i];
}
System.out.println(output);

这个代码已经过测试。

Input: This is an interview
Output: weivrecninasisihT
 类似资料:
  • 问题内容: 如何在 Java 中反转字符串?你能在不使用任何 Java 内置方法的情况下编写程序吗? 问题答案: 有很多方法可以做到,其中一些是: 使用 for 循环 使用递归 使用字符串缓冲区

  • 问题内容: 我需要在Linux / OSX终端下使用“干净的” shell(例如bash),而无需任何用户配置,但是每次启动时,它都会从某些文件(例如〜/ .bashrc)中读取配置信息。每当我需要“干净”的外壳时,我都可以修改该文件,并在完成后将其还原,但是有没有更简单的方法来执行此操作,例如命令? 问题答案: 您可以传递和命令行选项: 您可以在手册页中找到有关这些选项的文档。

  • 我需要使replace方法将该文本行中的开始(包括)和结束之间的字符替换为指定字符串片段中的字符(独占,即索引end-1之前的字符将被替换)。我不能直接或间接地使用StringBuffer类替换(int start,int end,String fragment)方法。我正在尝试使eline.replace(0,3,“abc”);或eline.replace(0,3,“ABC”);工作。

  • 问题内容: 我正在尝试设置spring xml配置,而不必创建进一步的。但是,即使我将数据库属性包括在 spring.xml: 我在这里想念什么? 问题答案: 在entityManagerFactory bean定义中指定“ packagesToScan”和“ persistenceUnitName”属性。 请注意,这适用于Spring版本> 3.1

  • 我有一个带有私有方法的类,该方法调用一些外部类并执行它,如果不使用powermock,我如何防止这种情况发生?(该项目使用Junit5,目前还不支持powermock)。 我考虑过将这些函数移到外面,但我觉得有时方法确实属于特定的类,因为它们是它的一部分,将它们移出对我来说没有意义,下面只是一个例子来说明。 我已经知道大多数人会说不要测试私有方法,但a.我不完全同意,b.我不想在这里测试这个方法,

  • 问题内容: 如何在不使用任何预定义函数的情况下打印String的反面? 问题答案: 您可以递归或迭代(循环)进行。 反复: 递归地: