当前位置: 首页 > 面试题库 >

Java:在字符串中打印唯一字符

宋烨烁
2023-03-14
问题内容

我正在编写一个程序,该程序将以字符串形式输出唯一字符(通过扫描仪输入)。我创建了一个方法来尝试实现此目的,但我一直在获取不重复的字符,而不是字符串中唯一的一个(或多个)字符。我只想要唯一的字母。

这是我的代码:

import java.util.Scanner;
public class Sameness{
   public static void main (String[]args){
   Scanner kb = new Scanner (System.in); 
     String word = "";

     System.out.println("Enter a word: ");
     word = kb.nextLine();

     uniqueCharacters(word); 
}

    public static void uniqueCharacters(String test){
      String temp = "";
         for (int i = 0; i < test.length(); i++){
            if (temp.indexOf(test.charAt(i)) == - 1){
               temp = temp + test.charAt(i);
         }
      }

    System.out.println(temp + " ");

   }
}

这是上面代码的示例输出:

Enter a word: 
nreena
nrea

预期的输出将是: ra


问题答案:

根据所需的输出,当以后重复时,必须替换最初已经添加的字符,因此:

public static void uniqueCharacters(String test){
    String temp = "";
    for (int i = 0; i < test.length(); i++){
        char current = test.charAt(i);
        if (temp.indexOf(current) < 0){
            temp = temp + current;
        } else {
            temp = temp.replace(String.valueOf(current), "");
        }
    }

    System.out.println(temp + " ");

}


 类似资料:
  • 问题内容: 打印列表中元素之前的“ u”?我没有在代码中键入u。 当我运行此命令时,它将打印列表,但其格式如下: 那些“ u”来自列表中每个元素的位置? 问题答案: 我认为您实际上对此感到惊讶的是,打印单个字符串与打印字符串列表的功能不同–无论是否为Unicode,这都是事实: 即使没有,您也有多余的引号,更不用说反斜杠转义了。而且,如果您使用字节字符串而不是字符串尝试相同的操作,那么您仍然会使用

  • 我被一些有趣的任务困住了。我有3个字符串(hello,heavy&word)。需要计算每一个世界的总和并打印最大的世界和总和。用于计算-a=1,z=26。所以hello=50,heavy=61&word=60。最大的字符串是“Heavy”,我需要像“Heavy,61”那样打印出来。我找到了从一个字符串计算字符的代码:

  • 问题内容: 我曾尝试打印它,但由于它是转义字符,因此只是通过而已。例如,输出应如下。 提前致谢 问题答案: 为此以及将来的参考:

  • #include <stdio.h> #include <wchar.h> int main(void) { char str1[] = "abcd"; wchar_t str2[] = L"abcd"; return 0; } 技巧 用gdb调试程序时,可以使用“x/s”命令打印ASCII字符串。以上面程序为例: Temporary brea

  • Byte[]utf8=str1.getBytes(“Windows-1254”);test3=新字符串(“windows-1254”); 输出为I:3/Ortakl:1/2:°:1/2 但上述代码在控制台程序中工作良好,即main method main method打印类似 isortakli的输出 任何建议都必须是可行的

  • 我想从多个单词打印第一个字符,这个单词来自api,像DisplayName:arwa othman。我想打印(a)和(o)这封信。有人能帮我吗??